Received: by 2002:a89:413:0:b0:1fd:dba5:e537 with SMTP id m19csp344839lqs; Thu, 13 Jun 2024 11:37:18 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWN4zVKtn15Tq5lZd7SVvLgk7Zq2+wLymFz6U86BQOmcfyGHCSuW0r/jL3GOzOhKY8TiGzTn22k8oHKDhEglSDi+dX2Qc2UecjDKSG2Sw== X-Google-Smtp-Source: AGHT+IG3cbNNPj1w2HCIDagkGcqHtKoH9VacsTKCu5emkRb7F/4T0524nt7uPZrnB++UiTDlSdJP X-Received: by 2002:a05:6a20:daa1:b0:1af:96e8:7b9c with SMTP id adf61e73a8af0-1bae823dbadmr887956637.47.1718303837970; Thu, 13 Jun 2024 11:37:17 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1718303837; cv=pass; d=google.com; s=arc-20160816; b=ovoc98V/7ZoY6yv9qv/cxjmuXQb4GUAV48kHdWdm7bVAChGBkI5wzBsW2BYLcg/Mmu /yuh2rQBSa4GspS4/w7gMxdFB43P+JGe5U3lOyUmEyvDTtBdTYSftwH7L0YkT2kFMO7a y6D3d8HL/6a1bUbYGb6Z6x0zxE1GclEhcISHdmu810xdfhwgqWTp3Y1JeWvk8W8IC8C8 AyQZEqlaNZOUuKeQvNWjrDV0KKHyO1/mXWbI75cY2pATJA7ZLfYLPWVZM8AlaUCOkoD3 CVTwdu8kf9ERLmEM3SPBMisA/YQ+WU0r5PTXiDGjzAaER0Q9t8KAtAvqm1BZi1JNK9nW VrAQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:from :dkim-signature; bh=7trjxWVARE1U1KCKPmiJvwcErG/G6rEi/+G7imUgvdk=; fh=1/3lXFVz69UqpVG6hQDZ/Hd9qKfdx/7X5bNqh2kvdjo=; b=mi1BMmCwQ6CcbO2oh676FFIy0G0cvwjSsgucFnLX+77bzX1c0v7VRiaSpL0EC+esvF T3Qvk95LDS0M6x9wCqUOVofLlFxcEyn6liNkga07YilU8/QNjsUiFFKTgnO911C4rruM ja66k3gNd46uDy+xGaioP7xITxTXfwgDSqc+KFoVwtTQm9CZ87y4PVll5hzN9cmbG9FO EYnZVQW/+30xn29cKw45vgsZhvW/qpaUJwdfGE13WbRR5vfN/kmvAK/s5+CcEfNQO4z/ Z2oJnEyCigoGZzTJCr6HuyHIN1K/BqCRfQ7IDAPs5cOW9DTtCybqHEPGFgTGwPHy2MQJ 0dNA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=PgGpK4MK; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-nfs+bounces-3782-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-nfs+bounces-3782-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id d2e1a72fcca58-705cdaec552si1786930b3a.318.2024.06.13.11.37.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Jun 2024 11:37:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs+bounces-3782-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=PgGpK4MK; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-nfs+bounces-3782-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-nfs+bounces-3782-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id C84CBB23F71 for ; Thu, 13 Jun 2024 18:36:16 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9068614B09C; Thu, 13 Jun 2024 18:34:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="PgGpK4MK" X-Original-To: linux-nfs@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6661014B061; Thu, 13 Jun 2024 18:34:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718303681; cv=none; b=G+zBhe1BsuxP/Wp3OO5sUT9kRVVR/Eo3fqx11Q7Yy2VqIUAnfEkKylyyaQG/voKf4mTZpsB6I+KC94bS3Y0MKharbg9/e7M/ZOUfSO2BH2ajdoJCDIV3JdpFk1cUEzuUtuHVtXBBRUYA/Pa4D7AjnXdEmGNUqqh+gdNEtP3LDRE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718303681; c=relaxed/simple; bh=uvgmmyR+kmgvJw5v805l711JAOX3oUJc9TWRVrpFuW8=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=ljYDcB2s1CaLfwbi1tzSxjYGqryD2luEchI+11Ky+fjizQvhsZsHdEyoYil6JAH2bhLuSsLvLMtJxSgPm4gUqX8ds9AkdPEwUT/p3PG8YMab/Eo2Jd8FRWK9K0MgwZeT5N/9Gd8UTIL33r4ANih9i+uV6GgVkOG3hVGbglv5ftc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PgGpK4MK; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id A46D1C2BBFC; Thu, 13 Jun 2024 18:34:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1718303681; bh=uvgmmyR+kmgvJw5v805l711JAOX3oUJc9TWRVrpFuW8=; h=From:Subject:Date:To:Cc:From; b=PgGpK4MKWB/jrcZPWF36YsvhTYSpWg9fst87pwnrp0beKCt22pstbAlgxvVhZALbc 9liq4bBTYUIDqcUphUIEUVfo5VBA8HI2cg+ZuGDVqYSPCZLvpYB8s+HgxsEvzcuCsW cnAlc3A/fkwjKX0mq4og5wRfj93UBOOb0AKiSVTCmX11aFCU4iQhUxn7AKWAU7po8g aisSIz5DzyI79ZKHmIaQuOVuCrBVsBbNW7TyYGkrc0xYSGdIq3w1UvBkToRJWSEo2n Jiva2tnH2y6sLdu8Yf6GuUxT7iNCd65Db+LpPmmmSedz66KFi2qotKfY7dcITYAfyt Iut9aH5+kIVxA== From: Jeff Layton Subject: [PATCH v3 0/5] nfsd/sunrpc: allow starting/stopping pooled NFS server via netlink Date: Thu, 13 Jun 2024 14:34:29 -0400 Message-Id: <20240613-nfsd-next-v3-0-3b51c3c2fc59@kernel.org> Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIALU7a2YC/22MQQ6CMBBFr0Jmbc201AZceQ/jApgpNJpiWtJgC He3sMLE5fv57y0QOTiOcC0WCJxcdKPPUJ4K6IbG9ywcZQaFSqNBLbyNJDzPk2hRd0iKqrqpIf/ fga2b99b9kXlwcRrDZ08nua3/KkkKFBVZU5mGjSS+PTl4fp3H0MOWSeqgyvKoqqwqbK2pkczFt j/quq5fvBkStd4AAAA= To: Chuck Lever , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Lorenzo Bianconi Cc: Trond Myklebust , Anna Schumaker , linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Jeff Layton X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1823; i=jlayton@kernel.org; h=from:subject:message-id; bh=uvgmmyR+kmgvJw5v805l711JAOX3oUJc9TWRVrpFuW8=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBmazu+Msjh7p6JJ/Jz07l7Fdd5VzsY8TlusIJvv DJ66xycKxuJAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZms7vgAKCRAADmhBGVaC FcsNEADSICTirj26t+OTNid+5BS22e0mtDNPFyN5ZSGKFjRGGWCEhoy+WcIOUF2rcFBv9TA2ybN TIXdAezVdrjoITvCbnC1zguyT57KeJNEFjg5VbFGU6xw5vnsRA5Gbc0y3NOLO0iObcA60yaKaGn adYQJP141mL8q5Q0sG/F26IFhPSZtWkOZ0QHTQVnKwCjYwfUxbAao94/owl5ogAyOseh+M7Rqfk HAJnmQVmnBp5+YT2d2fnGt863dWk95+60qFftc/d0snGG3o7kw1/pcShkW6xZp1EO6a6HbBgFV+ HN4zqBJtESy4bD5gwob/1jtHCN4X0JW8YViGlFc7asG1YEukwImnyRYvq7AtiCsqazM56gkpC8R 3zXlQzRv1G0URm4/3OO2uZ1S9BHxDcKsHmUAr/pe61JQ4wjKCKqF/Idh2mzx8p1wRZYraprD8Ew Jvz+1pEbC68ckGRMrzS+vtNFe7GlNwWqT5csvTCTcxaz3ORTmCEudLfrzxdJX0hj2SnljFxrob/ ttux9re5Jf1oZoJx51ozQvyRTDF/7dM3SIbCg/1IC/8FXl4hdH9OrQup7nLYLGU4u6IC1NhoyDC vqG82jyTmdFvf2JYhE1a0KJXCh0D2gGp66xZDgMezr6TPjNmcQf0TPthdcL7z73JAQO0tycJBPB IGfpkDtQd9MMHFg== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 This is a resend of the patchset I sent a little over a week ago, with a couple of new patches that allow setting the pool-mode via netlink. This patchset first attempts to detangle the pooled/non-pooled service handling in the sunrpc layer, unifies the codepaths that start the pooled vs. non-pooled nfsd, and then wires up the new netlink threads interface to allow you to start a pooled server by specifying an array of thread counts. Signed-off-by: Jeff Layton --- Changes in v3: - better announce the subtle change to the /sys/module interface - add more kerneldoc comments - Link to v2: https://lore.kernel.org/r/20240613-nfsd-next-v2-0-20bf690d65fb@kernel.org Changes in v2: - add new pool-mode set/get netlink calls --- Jeff Layton (5): sunrpc: fix up the special handling of sv_nrpools == 1 nfsd: make nfsd_svc take an array of thread counts nfsd: allow passing in array of thread counts via netlink sunrpc: refactor pool_mode setting code nfsd: new netlink ops to get/set server pool_mode Documentation/netlink/specs/nfsd.yaml | 27 +++++++++ fs/nfsd/netlink.c | 17 ++++++ fs/nfsd/netlink.h | 2 + fs/nfsd/nfsctl.c | 100 ++++++++++++++++++++++++++---- fs/nfsd/nfsd.h | 3 +- fs/nfsd/nfssvc.c | 59 +++++++++++------- include/linux/sunrpc/svc.h | 3 + include/uapi/linux/nfsd_netlink.h | 10 +++ net/sunrpc/svc.c | 111 ++++++++++++++++++++++------------ 9 files changed, 256 insertions(+), 76 deletions(-) --- base-commit: fec4124bac55ad92c47585fe537e646fe108b8fa change-id: 20240604-nfsd-next-b04c0d2d89a9 Best regards, -- Jeff Layton