Re: [PATCH net-next v2 12/12] net: homa: create Makefile and Kconfig

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 11/12/24 7:40 AM, John Ousterhout wrote:
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 <ouster@xxxxxxxxxxxxxxx>
---
  MAINTAINERS       |  7 +++++++
  net/Kconfig       |  1 +
  net/Makefile      |  1 +
  net/homa/Kconfig  | 19 +++++++++++++++++++
  net/homa/Makefile | 14 ++++++++++++++
  5 files changed, 42 insertions(+)
  create mode 100644 net/homa/Kconfig
  create mode 100644 net/homa/Makefile

diff --git a/MAINTAINERS b/MAINTAINERS
index 1389704c7d8d..935d1e995018 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -10391,6 +10391,13 @@ F:	lib/test_hmm*
  F:	mm/hmm*
  F:	tools/testing/selftests/mm/*hmm*
+HOMA TRANSPORT PROTOCOL
+M:	John Ousterhout <ouster@xxxxxxxxxxxxxxx>
+S:	Maintained
+W:	https://homa-transport.atlassian.net/wiki/spaces/HOMA/overview
+F:	include/uapi/linux/homa.h
+F:	net/homa/
+
  HONEYWELL HSC030PA PRESSURE SENSOR SERIES IIO DRIVER
  M:	Petre Rodan <petre.rodan@xxxxxxxxxxxxxxx>
  L:	linux-iio@xxxxxxxxxxxxxxx
diff --git a/net/Kconfig b/net/Kconfig
index a629f92dc86b..ca8551c1a226 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -244,6 +244,7 @@ endif
source "net/dccp/Kconfig"
  source "net/sctp/Kconfig"
+source "net/homa/Kconfig"
  source "net/rds/Kconfig"
  source "net/tipc/Kconfig"
  source "net/atm/Kconfig"
diff --git a/net/Makefile b/net/Makefile
index 65bb8c72a35e..18fa3c323187 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -44,6 +44,7 @@ obj-y				+= 8021q/
  endif
  obj-$(CONFIG_IP_DCCP)		+= dccp/
  obj-$(CONFIG_IP_SCTP)		+= sctp/
+obj-$(CONFIG_HOMA)              += homa/

A small formatting issue, perhaps you're using spaces?


  obj-$(CONFIG_RDS)		+= rds/
  obj-$(CONFIG_WIRELESS)		+= wireless/
  obj-$(CONFIG_MAC80211)		+= mac80211/
diff --git a/net/homa/Kconfig b/net/homa/Kconfig
new file mode 100644
index 000000000000..8ba81b00d35f
--- /dev/null
+++ b/net/homa/Kconfig
@@ -0,0 +1,19 @@
+# SPDX-License-Identifier: BSD-2-Clause
+#
+# Homa transport protocol
+#
+
+menuconfig HOMA
+	tristate "The Homa transport protocol"
+	depends on INET
+	depends on IPV6

Can HOMA run in an environment without IPv6(IPv4 only)? If so, depends is not suitable here. Perhaps what you need is to implement different branches in the code using

#if IS_ENABLED(CONFIG_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. 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..3eb192a6ffa6
--- /dev/null
+++ b/net/homa/Makefile
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: BSD-2-Clause
+#
+# Makefile for the Linux implementation of the Homa transport protocol.
+
+obj-$(CONFIG_HOMA) := homa.o
+homa-y:=        homa_incoming.o \
+		homa_outgoing.o \
+		homa_peer.o \
+		homa_pool.o \
+		homa_plumbing.o \
+		homa_rpc.o \
+		homa_sock.o \
+		homa_timer.o \
+		homa_utils.o




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux