Hi Jens,
The 1st patch add .mq_quiesce_mutex for serializing quiesce/unquiesce,
and prepares for replacing srcu with percpu_ref.
The 2nd patch replaces srcu with percpu_ref.
The 3rd patch adds tagset quiesce interface.
The 4th patch applies tagset quiesce interface for NVMe subsystem.
Tested some reset storms and target restarts during traffic with
nvme-tcp.
Seems that no apparent breakage.
So:
Tested-by: Sagi Grimberg <sagi@xxxxxxxxxxx>
Probably unrelated to this patches, but I do see new
kmemleak complaints in the form of:
--
unreferenced object 0xffff9440dbf3c240 (size 64):
comm "systemd", pid 1, jiffies 4306444056 (age 25034.440s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 b0 fe 13 99 ff ff ff ff ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<00000000f1d0b20e>] percpu_ref_init+0x5f/0xf0
[<000000009598103f>] cgroup_mkdir+0xe9/0x440
[<0000000001b93c19>] kernfs_iop_mkdir+0x57/0x80
[<000000001ed0f985>] vfs_mkdir+0x10e/0x1d0
[<00000000cac65f7e>] do_mkdirat+0xec/0x120
[<00000000956db630>] do_syscall_64+0x33/0x80
[<000000001c2b0e1a>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
--