diff options
| author | Qiliang Yuan <odys.yuan@gmail.com> | 2026-11-04 01:30:39 -0500 |
|---|---|---|
| committer | Keith Busch <kbusch@kernel.org> | 2026-11-05 07:07:47 -0800 |
| commit | d06917d0ba226206dbd606330d73a8eb1e3029c1 (patch) | |
| tree | 0ba263e46c61c4d5e27df305a4034abe68b8e503 /tools/perf/scripts/python/stackcollapse.py | |
| parent | c64d9b2c1f4fd1d8fa52dab37b48428a99c4d58d (diff) | |
srcu: Add list_splice_init_srcu()
list_splice_init_rcu() makes a list look empty to new readers, waits for
the current ones with the given sync function, and only then links the
entries into the new list. The sync function takes no argument, so it
can wait for RCU readers but not for the readers of an srcu_struct.
Passing synchronize_rcu() for a list read under SRCU still builds, but
leaves SRCU readers on the entries while the last one's next pointer is
moved onto the new list head. nvme_remove_namespaces() does this today.
Add list_splice_init_srcu(), which waits for the readers of the given
srcu_struct instead.
Cc: stable@vger.kernel.org
Suggested-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Qiliang Yuan <odys.yuan@gmail.com>
Reviewed-by: Paul E. McKenney <paulmck@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
