From nobody Sun Dec 14 15:49:43 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dTngq71t8z6KP1g for ; Sun, 14 Dec 2025 15:49:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dTngq2RW1z428b for ; Sun, 14 Dec 2025 15:49:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765727383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MqRqmxBGnBayOIgHUytTR2H+wCEQ9r+cVWUt09uPhcE=; b=pBz8zHDW+uwV2ADTSJKBJEZriX2xFZgk3RrOFQAg7Vkzk7w1RrI7UVmVazXE0MDGxO649A Uw3q9sDQE9XNYKOiLKwIL9YipzQd3uufabON+gFeB1HKRzVVz94sllFfEofuAFrtLqoIAZ jy5qKzuUE4aTl7S/MLg/ny1yAslC0OzHf/0zhw+rzEOlpbHgtQDjPuuV7Eq1Y0lin5CT8V UT+bPnAwAe4j6QymDOazsU/eNks9W1kzq4fJPDjs3VI1zsha3Rdxrd9vSDEiniVkxbk7Dm jCumEbcaqwXSvnOGo7fE8IZhTUw4WcmVSppTIbJScwz/dMO57BlGFsJxNNS+NQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765727383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MqRqmxBGnBayOIgHUytTR2H+wCEQ9r+cVWUt09uPhcE=; b=JaYqu0VjViF0qFx1owTSXopPYY/YLzualmbS/QGtDflsRnE/Pg2bjJOfyv9KMm3efvISu9 kmznR5euqp4c7A50rabdp+e5bhqK6dxZidARIy3ad0yt7788yndmsM8fX7gI/lF0k+1crB ve7Y6fVp/P8/Dsbns92Wk74CTMymrc8RgmHAyb82r5oDuMnvGf9BfuH/jfvKvgTcuO0n6+ EybMKx1ayVn2HG5FY+nATMEBPIZvCVJIcdohEXyC4xnxySWpP1T23hknCIh3Z8tUw+ILll uSokLWArlHz58IxdsveTrP4bcflEVaHfITftzXnC+mVAz4HLvMcIXpMU66YyZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1765727383; a=rsa-sha256; cv=none; b=yEc9MQ0BiVqLpfbkzoSHo/v6cpEg+nM8+iKWp8s+EJK4zN0LNgEZFSjL1sMwOkhG0CmhQN oh7vQI0l6TBo80ufl4u+hX7SCgVZS2ZwBKOgWlcp0OxBPJA+48QxhsNHAO2D6zJ6VdXIBX 5VJ2nNUsVyOhjMSZ//SFUqx9XzvCnfuh/3ic7pNIA1xO/oLIA+7SgOxGlkrRTZ/PzRqNn2 MaXCypFli1GQJiIh36kBNbLhLTm6GKfah+aiNs1yRnN/wyfK6ZKQbYLry7VeVW5AySAr8g UY/4Kjj3MGMBTWLuDn0QRK3eARgAJlZ0Y2WACFUACpL9p/flDEzMUCGmoYMBcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dTngq10MDzggw for ; Sun, 14 Dec 2025 15:49:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3431c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 14 Dec 2025 15:49:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: c694122f3cfb - main - netmap: Let memory allocator parameters be settable via loader.conf List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c694122f3cfb7d52b882fa79086d49f45a2c7fd2 Auto-Submitted: auto-generated Date: Sun, 14 Dec 2025 15:49:43 +0000 Message-Id: <693edc97.3431c.5fd2e68e@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c694122f3cfb7d52b882fa79086d49f45a2c7fd2 commit c694122f3cfb7d52b882fa79086d49f45a2c7fd2 Author: Mark Johnston AuthorDate: 2025-12-14 15:47:48 +0000 Commit: Mark Johnston CommitDate: 2025-12-14 15:47:48 +0000 netmap: Let memory allocator parameters be settable via loader.conf This is useful when dev.netmap.port_numa_affinity is set to 1. When interfaces attach, they get a memory allocator that is copied from nm_mem. Parameters in nm_mem can be set using sysctls, but this happens after their values are copied. To work around this, we can make it possible to set these memory parameters as tunables. Reviewed by: vmaffione MFC after: 1 week Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D54178 --- sys/dev/netmap/netmap_mem2.c | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/sys/dev/netmap/netmap_mem2.c b/sys/dev/netmap/netmap_mem2.c index d69e9305f6f0..865a663da364 100644 --- a/sys/dev/netmap/netmap_mem2.c +++ b/sys/dev/netmap/netmap_mem2.c @@ -628,22 +628,26 @@ static const struct netmap_mem_d nm_blueprint = { #define STRINGIFY(x) #x -#define DECLARE_SYSCTLS(id, name) \ - SYSBEGIN(mem2_ ## name); \ - SYSCTL_INT(_dev_netmap, OID_AUTO, name##_size, \ - CTLFLAG_RW, &nm_mem.params[id].size, 0, "Requested size of netmap " STRINGIFY(name) "s"); \ - SYSCTL_INT(_dev_netmap, OID_AUTO, name##_curr_size, \ - CTLFLAG_RD, &nm_mem.pools[id]._objsize, 0, "Current size of netmap " STRINGIFY(name) "s"); \ - SYSCTL_INT(_dev_netmap, OID_AUTO, name##_num, \ - CTLFLAG_RW, &nm_mem.params[id].num, 0, "Requested number of netmap " STRINGIFY(name) "s"); \ - SYSCTL_INT(_dev_netmap, OID_AUTO, name##_curr_num, \ - CTLFLAG_RD, &nm_mem.pools[id].objtotal, 0, "Current number of netmap " STRINGIFY(name) "s"); \ - SYSCTL_INT(_dev_netmap, OID_AUTO, priv_##name##_size, \ - CTLFLAG_RW, &netmap_min_priv_params[id].size, 0, \ +#define DECLARE_SYSCTLS(id, name) \ + SYSBEGIN(mem2_ ## name); \ + SYSCTL_INT(_dev_netmap, OID_AUTO, name##_size, \ + CTLFLAG_RWTUN, &nm_mem.params[id].size, 0, \ + "Requested size of netmap " STRINGIFY(name) "s"); \ + SYSCTL_INT(_dev_netmap, OID_AUTO, name##_curr_size, \ + CTLFLAG_RD, &nm_mem.pools[id]._objsize, 0, \ + "Current size of netmap " STRINGIFY(name) "s"); \ + SYSCTL_INT(_dev_netmap, OID_AUTO, name##_num, \ + CTLFLAG_RWTUN, &nm_mem.params[id].num, 0, \ + "Requested number of netmap " STRINGIFY(name) "s"); \ + SYSCTL_INT(_dev_netmap, OID_AUTO, name##_curr_num, \ + CTLFLAG_RD, &nm_mem.pools[id].objtotal, 0, \ + "Current number of netmap " STRINGIFY(name) "s"); \ + SYSCTL_INT(_dev_netmap, OID_AUTO, priv_##name##_size, \ + CTLFLAG_RWTUN, &netmap_min_priv_params[id].size, 0, \ "Default size of private netmap " STRINGIFY(name) "s"); \ - SYSCTL_INT(_dev_netmap, OID_AUTO, priv_##name##_num, \ - CTLFLAG_RW, &netmap_min_priv_params[id].num, 0, \ - "Default number of private netmap " STRINGIFY(name) "s"); \ + SYSCTL_INT(_dev_netmap, OID_AUTO, priv_##name##_num, \ + CTLFLAG_RWTUN, &netmap_min_priv_params[id].num, 0, \ + "Default number of private netmap " STRINGIFY(name) "s"); \ SYSEND SYSCTL_DECL(_dev_netmap);