Re: [PATCH 00/19 v2] SUNRPC: clean up server thread management

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On Nov 23, 2021, at 9:49 AM, J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote:
> 
> On Tue, Nov 23, 2021 at 12:29:35PM +1100, NeilBrown wrote:
>> This is a revision of my series for cleaning up server thread
>> management.
> 
> For what it's worth, this version now passes my usual regression tests.

Likewise, I tested with both TCP and RDMA.


> --b.
> 
>> Currently lockd, nfsd, and nfs-callback all manage threads slightly
>> differently.  This series unifies them.
>> 
>> Changes since first series include:
>>  - minor bug fixes
>>  - kernel-doc comments for new functions
>>  - split first patch into 3, and make the bugfix a separate patch
>>  - fix management of pool_maps so lockd can usse svc_set_num_threads
>>    safely
>>  - switch nfs-callback to not request a 'pooled' service.
>> 
>> NeilBrown
>> 
>> 
>> ---
>> 
>> NeilBrown (19):
>>      SUNRPC/NFSD: clean up get/put functions.
>>      NFSD: handle error better in write_ports_addfd()
>>      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             | 194 ++++++++++++-------------------------
>> fs/nfs/callback.c          |  12 +--
>> fs/nfsd/netns.h            |  13 +--
>> fs/nfsd/nfsctl.c           |  24 ++---
>> fs/nfsd/nfssvc.c           | 139 +++++++++++++-------------
>> fs/nfsd/stats.c            |   2 +-
>> fs/nfsd/stats.h            |   4 +-
>> include/linux/sunrpc/svc.h |  58 ++++-------
>> net/sunrpc/svc.c           | 166 ++++++++++++++-----------------
>> 9 files changed, 248 insertions(+), 364 deletions(-)
>> 
>> --
>> Signature

--
Chuck Lever







[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux