Re:Bug Hunting in Btrfs
by zogomoox on Thursday March 21, 2024 @08:24AM
(#39777626)
That not-invented-here locking mechanism was a big shock to me. I'd be very interested to know the rationale behind that, are locking primitives somehow not available in file system code?
[ Parent
| on HN ]
Re:Bug Hunting in Btrfs
by tavianator on Thursday March 21, 2024 @12:30PM
(#39780780)
Locks are perfectly usable in filesystem code, but test_and_set_bit()/wait_on_bit() has lower overhead, so they'll get used as an optimization. This function is called on every metadata read, so the improved performance/scalability of raw atomics over locks can probably make a difference on fast storage.
Also the code used to use locks, and it wasn't any simpler: https://lore.kernel.org/linux-btrfs/20230503152441.1141019-2...