All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/14] SUNRPC: clean up server thread management.
@ 2021-11-17  0:46 NeilBrown
  2021-11-17  0:46 ` [PATCH 07/14] NFSD: simplify locking for network notifier NeilBrown
                   ` (15 more replies)
  0 siblings, 16 replies; 27+ messages in thread
From: NeilBrown @ 2021-11-17  0:46 UTC (permalink / raw)
  To: J. Bruce Fields, Chuck Lever; +Cc: linux-nfs

I have a dream of making nfsd threads start and stop dynamically.
This would free the admin of having to choose a number of threads to
start.
I'm not there yet, and I may never get there, but the current state of
the thread management code makes it harder to experiment than it needs
to be.  There is a lot of technical debt that needs to be repaid first.

This series addresses much of this debt.  There are three users of
service threads: nfsd, lockd, and nfs-callback.
nfs-callback, the newest, is quite clean.  This patch brings nfsd and
lockd up to a similar standard, and takes advantage of this increased
uniformity to simplify some shared interfaces.

It doesn't introduce any functionality improvements, and (as far as I
know) only fixes one minor bug (can you spot it?  If not, look at
c20106944eb6 and if you can see a second place that it could have
fixed).

Thanks for your review,
NeilBrown


---

NeilBrown (14):
      SUNRPC: stop using ->sv_nrthreads as a refcount
      nfsd: make nfsd_stats.th_cnt atomic_t
      NFSD: narrow nfsd_mutex protection in nfsd thread
      SUNRPC: use sv_lock to protect updates to sv_nrthreads.
      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()
      lockd: use svc_set_num_threads() for thread start and stop


 fs/lockd/svc.c             | 190 ++++++++++++-------------------------
 fs/nfs/callback.c          |   8 +-
 fs/nfsd/netns.h            |   6 --
 fs/nfsd/nfsctl.c           |   2 -
 fs/nfsd/nfssvc.c           |  99 +++++++++----------
 fs/nfsd/stats.c            |   2 +-
 fs/nfsd/stats.h            |   4 +-
 include/linux/sunrpc/svc.h |  11 +--
 net/sunrpc/svc.c           |  61 ++----------
 9 files changed, 128 insertions(+), 255 deletions(-)

--
Signature


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2021-11-22 23:25 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-17  0:46 [PATCH 00/14] SUNRPC: clean up server thread management NeilBrown
2021-11-17  0:46 ` [PATCH 07/14] NFSD: simplify locking for network notifier NeilBrown
2021-11-17  0:46 ` [PATCH 02/14] nfsd: make nfsd_stats.th_cnt atomic_t NeilBrown
2021-11-17  0:46 ` [PATCH 09/14] lockd: simplify management of network status notifiers NeilBrown
2021-11-17  0:46 ` [PATCH 01/14] SUNRPC: stop using ->sv_nrthreads as a refcount NeilBrown
2021-11-17  0:46 ` [PATCH 14/14] lockd: use svc_set_num_threads() for thread start and stop NeilBrown
2021-11-17  0:46 ` [PATCH 11/14] lockd: move svc_exit_thread() into the thread NeilBrown
2021-11-17  0:46 ` [PATCH 06/14] SUNRPC: discard svo_setup and rename svc_set_num_threads_sync() NeilBrown
2021-11-17  0:46 ` [PATCH 10/14] lockd: move lockd_start_svc() call into lockd_create_svc() NeilBrown
2021-11-17  0:46 ` [PATCH 13/14] lockd: rename lockd_create_svc() to lockd_get() NeilBrown
2021-11-17  0:46 ` [PATCH 03/14] NFSD: narrow nfsd_mutex protection in nfsd thread NeilBrown
2021-11-17  0:46 ` [PATCH 04/14] SUNRPC: use sv_lock to protect updates to sv_nrthreads NeilBrown
2021-11-17  0:46 ` [PATCH 05/14] NFSD: Make it possible to use svc_set_num_threads_sync NeilBrown
2021-11-17  0:46 ` [PATCH 08/14] lockd: introduce nlmsvc_serv NeilBrown
2021-11-17  0:46 ` [PATCH 12/14] lockd: introduce lockd_put() NeilBrown
2021-11-17 14:12 ` [PATCH 00/14] SUNRPC: clean up server thread management J. Bruce Fields
2021-11-19  3:24   ` NeilBrown
2021-11-21 23:50   ` NeilBrown
2021-11-22  0:56     ` J. Bruce Fields
2021-11-22  0:59       ` J. Bruce Fields
2021-11-22  1:13         ` NeilBrown
2021-11-22  2:37           ` J. Bruce Fields
2021-11-22  3:38             ` J. Bruce Fields
2021-11-22 15:18               ` J. Bruce Fields
2021-11-22 23:25                 ` NeilBrown
2021-11-17 17:12 ` Chuck Lever III
2021-11-19  3:19   ` NeilBrown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.