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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2024/7/11 3:54, Bart Van Assche wrote:
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().

The spinlock was initially introduced in ea86ea2cdced ("sbitmap:
ammortize cost of clearing bits").
I think if all 'cleared' changes are protected by the spinlock, the
overhead of clearing tags would definitely increase.

Thanks.


Thanks,

Bart.





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux