Re: [PATCH v6] sbitmap: fix io hung due to race on sbitmap_word::cleared

From: Bart Van Assche
Date: Wed Jul 10 2024 - 15:54:21 EST


On 7/9/24 11:56 PM, Yang Yang wrote:
+ /**
+ * @swap_lock: Held while swapping word <-> cleared
+ */
+ spinlock_t swap_lock;

Why is only swapping 'word' with 'cleared' protected by the spinlock?
If all 'cleared' changes would be protected by this spinlock then
that would allow to eliminate the expensive xchg() call from
sbitmap_deferred_clear().

Thanks,

Bart.