Whamcloud - gitweb
LU-14352 various: only use wake_up_all() on exclusive waitqs 89/41289/4
authorMr NeilBrown <neilb@suse.de>
Thu, 21 Jan 2021 03:37:54 +0000 (14:37 +1100)
committerOleg Drokin <green@whamcloud.com>
Wed, 21 Apr 2021 03:15:19 +0000 (03:15 +0000)
commit1f4e9f0f4f483dc93cbecdc841740bc11ec59a73
tree5d25160ba9b7026d280a4d433bcb337a97ffbfc2
parentfe2663f18e50023ad5cfe5e07b695378dd27a68e
LU-14352 various: only use wake_up_all() on exclusive waitqs

wake_up_all() is not necessary of wait_queues which are not the
subject of an exclusive waiter.  When all waiters are non-exclusive,
wake_up() will wake them all up.

Use of wake_up_all() suggests to the reader that the queue is subject
to exclusive waits.  When that is not the case, the usage can cause
confusion.

So change all wake_up_all() on non-exclusive waitqueues to wake_up().

The only wait_queues on which exclusive waits are requested are:
ws_waitq         ibs_waitq        kss_waitq         ksnd_connd_waitq
blp_waitq        imp_replay_waitq cl_mod_rpcs_waitq cl_cache_waiters
cl_destroy_waitq scp_waitq

All others now only use wake_up().

Signed-off-by: Mr NeilBrown <neilb@suse.de>
Change-Id: I8e4a82747a93a50344cf545f1ae51fffc432b788
Reviewed-on: https://review.whamcloud.com/41289
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
30 files changed:
lnet/klnds/gnilnd/gnilnd.c
lnet/klnds/gnilnd/gnilnd_cb.c
lnet/klnds/gnilnd/gnilnd_conn.c
lnet/klnds/gnilnd/gnilnd_stack.c
lnet/klnds/o2iblnd/o2iblnd.c
lnet/klnds/socklnd/socklnd.c
lnet/lnet/peer.c
lustre/fid/fid_request.c
lustre/ldlm/ldlm_lock.c
lustre/lfsck/lfsck_engine.c
lustre/lfsck/lfsck_layout.c
lustre/lfsck/lfsck_lib.c
lustre/lfsck/lfsck_namespace.c
lustre/llite/pcc.c
lustre/lov/lov_io.c
lustre/mdc/mdc_changelog.c
lustre/mdt/mdt_coordinator.c
lustre/obdclass/cl_io.c
lustre/obdclass/lu_object.c
lustre/obdclass/upcall_cache.c
lustre/ofd/ofd_access_log.c
lustre/osc/osc_io.c
lustre/osc/osc_page.c
lustre/osp/osp_trans.c
lustre/ptlrpc/gss/gss_svc_upcall.c
lustre/ptlrpc/sec_bulk.c
lustre/ptlrpc/service.c
lustre/quota/qsd_handler.c
lustre/quota/qsd_lock.c
lustre/target/barrier.c