From nobody Wed Jan 7 13:50:53 2026 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 4dmTvf09wHz6MsxR for ; Wed, 07 Jan 2026 13:50:54 +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 4dmTvd5VHTz3WXx for ; Wed, 07 Jan 2026 13:50:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1767793853; 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=Un1vq73NmsrXlR2woAmJIqcdRhmeWXZsWiGYlqLQshQ=; b=rtP/evaFrVJU5OXphwbmXMSroCoP0YjiWpboKZH3BT2mHHJ0Sqexqe3v2FFrCiiZCLoL2X ykAe6pPzuisllKZN1BKYxx2przRmFGnGr2ZUOgp8zfAaWOY8KNK3Ya8tA0s6JRjqz0OG1D N2yqQT/md4ycwTGJvDjC3EcsvRBnZEKwEwWeg+LraR+Q9HtTyFRR/1rGdkep5lIgx/wPSV kTW1Z9TlNENkKzXlBPnTlJHXKFEAH/it0ylsVna6grM/wNvIrjt7oDyytnDxm6kHNpuxS9 6EmWyGopq7yMhAGvbeEeDCA7PbiigZGEjtfEHUVWhYCxNvTGPybCXwDhDZx4Ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1767793853; 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=Un1vq73NmsrXlR2woAmJIqcdRhmeWXZsWiGYlqLQshQ=; b=Z52YTOHddg1XLgf2SjL7up59CajgBf7rjLAWF0765xS2WDIVE3mtHnr8fvoVb+TWfABXSe XmZM5wpslURdRxhdp4cobGnN8+7LP/KkyQtvdzuaeyenBGVr2zO6sXCYxp0vYSDP4QiZEJ U00pdIe+j5nOTxHUsiF8O9efYwbDTEO957rKDn/mPk3d8741dUZMqI+UVYLwYGbLLRd9RS kCYbwQHYHrHuxiGrsKDGp7F+ynbq+nnGul9AMKlKiERWC07vZMZflijMwTlxo80nvvyzcX 1LNzZebLi24b5UuWnbYx/6TM/khoruH5pyhZw5rDiMR52WH7m6+HRK/ROPlarA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1767793853; a=rsa-sha256; cv=none; b=ZN8M2qIlvwzXLPmqVS08858KJTtNiP4DrW5cgXqKKANXW58MVEGRvkvANh91DHTYSYtJEO rrwIFT5Dt98edIRtWXUyaO6y1c2YHeC90Wr11NrqnXfrYG+/bSuwmcoyR3Mi0SOsjpWqD8 5rA3UT3Fa9cVsgdf8+43OhdfyM+e1mPi1G6ZhBCr4LhOPLOfrKKiWleQ6DWKG7Tgmeyl3R JE2V1osmlDCb6AMKuuTmfIEy4XzCPukrXxOq+RwxSxDrpTyGbXbJoUrvId5xd/l/WLHNdS B0ukr9pgedeocEol6QHWzR8gH9D+u2H8gdCZeReR+vGb1P6IjlqrblR1t5XdGg== 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 4dmTvd4stSzvP8 for ; Wed, 07 Jan 2026 13:50:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f4c6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 07 Jan 2026 13:50:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 284f29f84ac8 - stable/14 - 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 284f29f84ac8a5a3f9f02ef145332af678ccc23f Auto-Submitted: auto-generated Date: Wed, 07 Jan 2026 13:50:53 +0000 Message-Id: <695e64bd.3f4c6.77c08d52@gitrepo.freebsd.org> The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=284f29f84ac8a5a3f9f02ef145332af678ccc23f commit 284f29f84ac8a5a3f9f02ef145332af678ccc23f Author: Mark Johnston AuthorDate: 2025-12-14 15:47:48 +0000 Commit: Mark Johnston CommitDate: 2026-01-07 13:50:37 +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 50a5d2bc50f2..adcb1acbbd5c 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);