mbox series

[00/20,v3] SUNRPC: clean up server thread management

Message ID 163816133466.32298.13831616524908720974.stgit@noble.brown (mailing list archive)
Headers show
Series SUNRPC: clean up server thread management | expand

Message

NeilBrown Nov. 29, 2021, 4:51 a.m. UTC
This is v3 of mt server thread management cleanup series.
changes include:
 - splitting out a couple of patches, and moving simple bugfix to the
   front.
 - Fixed a bug in previous series where lockd module count was being
   incremented when the lockd thread started, but not decremented when
   it exited.
 - minor improvement to patch descriptions.

Thanks for the review and testing!

NeilBrown

---

NeilBrown (20):
      NFSD: handle errors better in write_ports_addfd()
      SUNRPC: change svc_get() to return the svc.
      SUNRPC/NFSD: clean up get/put functions.
      SUNRPC: stop using ->sv_nrthreads as a refcount
      nfsd: make nfsd_stats.th_cnt atomic_t
      SUNRPC: use sv_lock to protect updates to sv_nrthreads.
      NFSD: narrow nfsd_mutex protection in nfsd thread
      NFSD: Make it possible to use svc_set_num_threads_sync
      SUNRPC: discard svo_setup and rename svc_set_num_threads_sync()
      NFSD: simplify locking for network notifier.
      lockd: introduce nlmsvc_serv
      lockd: simplify management of network status notifiers
      lockd: move lockd_start_svc() call into lockd_create_svc()
      lockd: move svc_exit_thread() into the thread
      lockd: introduce lockd_put()
      lockd: rename lockd_create_svc() to lockd_get()
      SUNRPC: move the pool_map definitions (back) into svc.c
      SUNRPC: always treat sv_nrpools==1 as "not pooled"
      lockd: use svc_set_num_threads() for thread start and stop
      NFS: switch the callback service back to non-pooled.


 fs/lockd/svc.c             | 200 +++++++++++--------------------------
 fs/nfs/callback.c          |  32 ++----
 fs/nfsd/netns.h            |  13 +--
 fs/nfsd/nfsctl.c           |  24 ++---
 fs/nfsd/nfsd.h             |   2 +-
 fs/nfsd/nfssvc.c           | 159 +++++++++++++++--------------
 fs/nfsd/stats.c            |   2 +-
 fs/nfsd/stats.h            |   4 +-
 include/linux/sunrpc/svc.h |  79 ++++++++-------
 net/sunrpc/svc.c           | 175 ++++++++++++++------------------
 10 files changed, 286 insertions(+), 404 deletions(-)

--
Signature

Comments

Chuck Lever III Nov. 29, 2021, 5:45 p.m. UTC | #1
> On Nov 28, 2021, at 11:51 PM, NeilBrown <neilb@suse.de> wrote:
> 
> This is v3 of mt server thread management cleanup series.
> changes include:
> - splitting out a couple of patches, and moving simple bugfix to the
>   front.
> - Fixed a bug in previous series where lockd module count was being
>   incremented when the lockd thread started, but not decremented when
>   it exited.
> - minor improvement to patch descriptions.
> 
> Thanks for the review and testing!
> 
> NeilBrown
> 
> ---
> 
> NeilBrown (20):
>      NFSD: handle errors better in write_ports_addfd()
>      SUNRPC: change svc_get() to return the svc.
>      SUNRPC/NFSD: clean up get/put functions.
>      SUNRPC: stop using ->sv_nrthreads as a refcount
>      nfsd: make nfsd_stats.th_cnt atomic_t
>      SUNRPC: use sv_lock to protect updates to sv_nrthreads.
>      NFSD: narrow nfsd_mutex protection in nfsd thread
>      NFSD: Make it possible to use svc_set_num_threads_sync
>      SUNRPC: discard svo_setup and rename svc_set_num_threads_sync()
>      NFSD: simplify locking for network notifier.
>      lockd: introduce nlmsvc_serv
>      lockd: simplify management of network status notifiers
>      lockd: move lockd_start_svc() call into lockd_create_svc()
>      lockd: move svc_exit_thread() into the thread
>      lockd: introduce lockd_put()
>      lockd: rename lockd_create_svc() to lockd_get()
>      SUNRPC: move the pool_map definitions (back) into svc.c
>      SUNRPC: always treat sv_nrpools==1 as "not pooled"
>      lockd: use svc_set_num_threads() for thread start and stop
>      NFS: switch the callback service back to non-pooled.
> 
> 
> fs/lockd/svc.c             | 200 +++++++++++--------------------------
> fs/nfs/callback.c          |  32 ++----
> fs/nfsd/netns.h            |  13 +--
> fs/nfsd/nfsctl.c           |  24 ++---
> fs/nfsd/nfsd.h             |   2 +-
> fs/nfsd/nfssvc.c           | 159 +++++++++++++++--------------
> fs/nfsd/stats.c            |   2 +-
> fs/nfsd/stats.h            |   4 +-
> include/linux/sunrpc/svc.h |  79 ++++++++-------
> net/sunrpc/svc.c           | 175 ++++++++++++++------------------
> 10 files changed, 286 insertions(+), 404 deletions(-)
> 
> --
> Signature
> 

Hi Neil-

For broader testing, I've added the patches in this version of the series to
the for-next topic branch at

  git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git


--
Chuck Lever