[PATCH RFC v3 0/3] bugfix for sbitmap

From: Yu Kuai
Date: Sun Jul 10 2022 - 00:09:48 EST


Changes in v3:
- rename patch 2, and add some comments.
- add patch 3, which fixes a new issue pointed out by Jan Kara.
Changes in v2:
- split to spearate patches for different problem.
- add fix tag

This patchset fixes problems in the wakeup path on concurrent scenarios,
the problems are found during code review, and it's not reporduced in
real test yet in my environment.

Keith reported a possible related io hung problem in nvme:

https://bugzilla.kernel.org/show_bug.cgi?id=215679

Previous versions:
v1: https://lore.kernel.org/all/20220617141125.3024491-1-yukuai3@xxxxxxxxxx/
v2: https://lore.kernel.org/all/20220619080309.1630027-1-yukuai3@xxxxxxxxxx/

Yu Kuai (3):
sbitmap: fix that same waitqueue can be woken up continuously
sbitmap: fix invalid wakeup on the wrong waitqueue
sbitmap: fix that 'wait_cnt' can be decreased while waitqueue is empty

lib/sbitmap.c | 70 +++++++++++++++++++++++++++++++--------------------
1 file changed, 43 insertions(+), 27 deletions(-)

--
2.31.1