Skip to content

RFC nfsd/sunrpc: prepare nfsd to add workqueue mode support

Shirley Ma linux-nfs 2 versions In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 RFC Latest7 patches 1 replyIn review
  2. v3 RFC7 patches 7 repliesSuperseded

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7nfsd/sunrpc: add a new svc_serv_ops struct and move sv_shutdown into itfs/lockd/svc.c fs/nfs/callback.c fs/nfsd/nfssvc.c +2 more+33 -220 replies
2/7nfsd/sunrpc: move sv_function into sv_opsfs/nfsd/nfssvc.c include/linux/sunrpc/svc.h net/sunrpc/svc.c+8 -140 replies
3/7nfsd/sunrpc: move sv_module parm into sv_opsfs/nfsd/nfssvc.c include/linux/sunrpc/svc.h net/sunrpc/svc.c+11 -90 replies
4/7nfsd/sunrpc: turn enqueueing a svc_xprt into a svc_serv operationfs/lockd/svc.c fs/nfs/callback.c fs/nfsd/nfssvc.c +3 more+18 -110 replies
5/7nfsd/sunrpc: abstract out svc_set_num_threads to sv_opsfs/nfsd/nfssvc.c include/linux/sunrpc/svc.h+8 -30 replies
6/7nfsd/sunrpc: move pool_mode definitions into svc.hinclude/linux/sunrpc/svc.h net/sunrpc/svc.c+32 -240 replies
7/7nfsd/sunrpc: factor svc_rqst allocation and freeing from sv_nrthreads refcountinginclude/linux/sunrpc/svc.h net/sunrpc/svc.c+39 -180 replies

Reviews trailers per patch

All 7 patches have a Reviewed-by or Acked-by.

PatchJeff LaytonShirley Ma
1/7A-b T-b
2/7A-b T-b
3/7A-b T-b
4/7A-b T-b
5/7A-b T-b
6/7A-b T-b
7/7A-b T-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [RFC PATCH V4 0/7] nfsd/sunrpc: prepare nfsd to add workqueue mode support

This patchset was originally written by Jeff Layton from adding support for a workqueue-based nfsd. I am helping on stability test and performance analysis. There are some workloads benefit from global threading mode, some workloads benefit from workqueue mode. I am still investigating on how to make workqueue mode better to bid global threading mode. I have split the original patchset into two parts: one is preparing nfsd to add workqueue support, one is adding workqueue mode. This is the first patchset, which doesn't impact nfsd threading mode performance based upon my test results. These changes make nfsd threading code more clean and easy to add workqueue mode in nfsd/sunrpc later.

sunrpc: add a new svc_serv_ops struct and move sv_shutdown into it
sunrpc: move sv_function into sv_ops
sunrpc: move sv_module parm into sv_ops
sunrpc: turn enqueueing a svc_xprt into a svc_serv operation
sunrpc: abstract out svc_set_num_threads to sv_ops
sunrpc: move pool_mode definitions into svc.h
sunrpc: factor svc_rqst allocation and freeing from sv_nrthreads refcounting

 fs/lockd/svc.c                  |   7 ++-
 fs/nfs/callback.c               |   6 ++-
 fs/nfsd/nfssvc.c                |  17 ++++--
 include/linux/sunrpc/svc.h      |  68 +++++++++++++++++-------
 include/linux/sunrpc/svc_xprt.h |   1 +
 net/sunrpc/svc.c                | 113 +++++++++++++++++++---------------------
 net/sunrpc/svc_xprt.c           |  10 ++--
 7 files changed, 135 insertions(+), 87 deletions(-)