[PATCH v2 0/3] reduce quiesce time for lots of name spaces

Chao Leng
2020-08-07T09:06:10Z

nvme_stop_queues quiesce queues for all name spaces, now quiesce one by
one, if there is lots of name spaces, sync wait long time(more than 10s).
Multipath can not fail over to retry quickly, cause io pause long time.
This is not expected.
To reduce quiesce time, we introduce async mechanism for sync SRCUs
and quiesce queue.

Changes from v1:
- add support for blocking queue.
- introduce async mechanism for sync SRCU
- introduce async mechanism for quiesce queue

Chao Leng (3):
rcu: introduce async mechanism for sync SRCU
blk-mq: introduce async mechanism for quiesce queue
nvme-core: reduce io pause time when fail over

block/blk-mq.c | 28 ++++++++++++++++++++++++++++
drivers/nvme/host/core.c | 7 ++++++-
include/linux/blk-mq.h | 2 ++
include/linux/rcupdate_wait.h | 6 ++++++
include/linux/srcu.h | 1 +
include/linux/srcutiny.h | 2 ++
include/linux/srcutree.h | 2 ++
kernel/rcu/srcutiny.c | 15 +++++++++++++++
kernel/rcu/srcutree.c | 26 ++++++++++++++++++++++++++
kernel/rcu/update.c | 11 +++++++++++
10 files changed, 99 insertions(+), 1 deletion(-)

--
2.16.4