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. FWIW, eventually I'd like to wire up the pool_mode setting to netlink as well. I took a stab at adding a pool_mode parameter to the set_threads interface, but I think that's the wrong approach. By the time we call set_threads, we've usually already allocated the serv. I think pool_mode setting has to be done with new netlink call. I'll probably tackle that in a later patchset. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> --- Jeff Layton (3): sunrpc: fix up the special handling of sv_nrpools == 1 nfsd: make nfsd_svc call nfsd_set_nrthreads nfsd: allow passing in array of thread counts via netlink fs/nfsd/nfsctl.c | 45 ++++++++++++++++++++++++++++++++------------- fs/nfsd/nfsd.h | 3 ++- fs/nfsd/nfssvc.c | 30 +++++++++++++----------------- include/linux/sunrpc/svc.h | 1 + net/sunrpc/svc.c | 26 +++++++------------------- 5 files changed, 55 insertions(+), 50 deletions(-) --- base-commit: fec4124bac55ad92c47585fe537e646fe108b8fa change-id: 20240604-nfsd-next-b04c0d2d89a9 Best regards, -- Jeff Layton <jlayton@xxxxxxxxxx>