Before this commit the Homa code is "inert": it won't be compiled in kernel builds. This commit adds Homa's Makefile and Kconfig, and also links Homa into net/Makefile and net/Kconfig, so that Homa will be built during kernel builds if enabled (it is disabled by default). Signed-off-by: John Ousterhout --- net/homa/Kconfig | 21 +++++++++++++++++++++ net/homa/Makefile | 11 +++++++++++ 2 files changed, 32 insertions(+) create mode 100644 net/homa/Kconfig create mode 100644 net/homa/Makefile diff --git a/net/homa/Kconfig b/net/homa/Kconfig new file mode 100644 index 000000000000..16fec3fd52ba --- /dev/null +++ b/net/homa/Kconfig @@ -0,0 +1,21 @@ +# SPDX-License-Identifier: BSD-2-Clause or GPL-2.0+ +# +# Homa transport protocol +# + +menuconfig HOMA + tristate "The Homa transport protocol" + depends on INET + depends on IPV6 + + help + Homa is a network transport protocol for communication within + a datacenter. It provides significantly lower latency than TCP, + particularly for workloads containing a mixture of large and small + messages operating at high network utilization. At present, Homa + has been only partially upstreamed; this version provides bare-bones + functionality but is not performant. For more information see the + homa(7) man page or checkout the Homa Wiki at + https://homa-transport.atlassian.net/wiki/spaces/HOMA/overview. + + If unsure, say N. diff --git a/net/homa/Makefile b/net/homa/Makefile new file mode 100644 index 000000000000..57f051d44c6b --- /dev/null +++ b/net/homa/Makefile @@ -0,0 +1,11 @@ +obj-$(CONFIG_HOMA) := homa.o +homa-y:= homa_incoming.o \ + homa_interest.o \ + homa_outgoing.o \ + homa_peer.o \ + homa_plumbing.o \ + homa_pool.o \ + homa_rpc.o \ + homa_sock.o \ + homa_timer.o \ + homa_utils.o -- 2.43.0