From nobody Mon Dec 29 17:07:10 2025 X-Original-To: dev-commits-src-branches@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 4dg2hG3xg7z6M3rB for ; Mon, 29 Dec 2025 17:07:10 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dg2hG2CPDz46h1 for ; Mon, 29 Dec 2025 17:07:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1767028030; 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=n+EcrzBJrXsAMt+XGCbQizm/OMjB+u8i6pZrjuQJT6A=; b=R2c9n3ZcaRAXM1iQ2S70wQ47sGWQ4tTomi/V6J60jaVEbwFRM3rq6sJYPARY1nvICdN9/D 6lmaiI49ryepzdFkQAokVyphh24E9cvvSgD3nDdWIUDNqJN30PlP1WQ3c4FfvX0f5DY48c sUN4/P4VBGedjePHz6anLRHxmWu+cN1mDKiHavymdPKDESQndWkcKSDHYrL+7eFHYcMmz0 a66ZXR2WPku6ecz9PeGKaXuAiNwAzsktwdrBow2e4lyMfwfzSHJ11p8AtueybwK3Z4Sn+K A0OLSa9cwTnLUerCorl+/K5tRV/glDrd2xTEQeDxrN3v2cH7ou24kBZNTRssKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1767028030; 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=n+EcrzBJrXsAMt+XGCbQizm/OMjB+u8i6pZrjuQJT6A=; b=RfJezHvmQKRnnir/t7N5hPHz5IpmDAzmiIUvCTDlgZdbGB0kkFi47ADaD3hPUFTfpt7wd3 oiu76d6VqWaUBeI5X8Mumao5jDuCZIu6zvJODyc1sal+zHGGDUZwueQaa8einO5oTgRt3j 67dw8FNOiRAfch+PReXudVobfeQnKvsPHd/KoLexqUu7qHMzs2hABVaiOU2qSmv44DnLFq GkcA450TOqkInSW3uD9UhpN9swehURHBIXNG0iUqDp//sdJmYQBFTiGHpE1EaMf8X4uXNd qeeMxxWkazIO4nqgRhYK/wgzYo8wQ7rvHB9iZChd8FeA107z+Aney6VxgA56fQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1767028030; a=rsa-sha256; cv=none; b=Sx87cde+q/FHUZMMxh2wvSn/WHHKs5oHj8Xm7W5cc/vL5PBdGdsxWHtVp50gWvLx7fAxhY SG1OvUh9S2vvI237taK1njxTXO0XUChOuls6GnUMUQutz5Cjv7tarDt4Ej62WJ0GIQnGcw MxCvlJ1/rqhSj/oFohjn8GIvlzi7lGYUTksITwI3unDY4Hk2mwqJZlNJo50vJ1KkemNzLq SmhTd6b2AG7omLj15hY4aJveKBH5eajyYH5ahqTuaw2qttRp/uWOdh821+Eszqno3T3N2i fIH5BNUWWp8W4p84KFZLoHnQYfC1GrAyYBbMaKsGvfEVhs0HjoIzfsdI/CkuMA== 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 4dg2hG1ZFsz7gk for ; Mon, 29 Dec 2025 17:07:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 251d9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 29 Dec 2025 17:07:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 13b9f78e33c9 - stable/15 - netmap: Let memory allocator parameters be settable via loader.conf List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 13b9f78e33c9cdbcd7312afff9f1d5f1bd29f400 Auto-Submitted: auto-generated Date: Mon, 29 Dec 2025 17:07:10 +0000 Message-Id: <6952b53e.251d9.233113ff@gitrepo.freebsd.org> The branch stable/15 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=13b9f78e33c9cdbcd7312afff9f1d5f1bd29f400 commit 13b9f78e33c9cdbcd7312afff9f1d5f1bd29f400 Author: Mark Johnston AuthorDate: 2025-12-14 15:47:48 +0000 Commit: Mark Johnston CommitDate: 2025-12-29 14:31:30 +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 (cherry picked from commit c694122f3cfb7d52b882fa79086d49f45a2c7fd2) --- 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);