diff options
| author | Agatha Isabelle Moreira <code@agatha.dev> | 2026-05-20 22:58:16 +0300 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2026-05-27 16:11:02 +0300 |
| commit | 0432b89f6158f18618ac46a322c2f2dddd4adfc5 (patch) | |
| tree | ddcd406c884ae4c6c755eabc51ea3a4fd4f5bf38 /include/linux/timerqueue.h | |
| parent | ec3f4e0443a61e68092ac07111f16dd4ca89ddb4 (diff) | |
| download | linux-0432b89f6158f18618ac46a322c2f2dddd4adfc5.tar.xz | |
fs: buffer: use clear_and_wake_up_bit() in unlock_buffer()
Use `clear_and_wake_up_bit()` in `unlock_buffer()`, since the helper was
introduced in 'commit 8236b0ae31c83 ("bdi: wake up concurrent
wb_shutdown() callers.")' as a generic way of doing the same sequence of
operations:
clear_bit_unlock();
smp_mb__after_atomic();
wake_up_bit();
The helper was implemented to avoid bugs caused by forgetting to call
`wake_up_bit()` after `clear_bit_unlock()`.
Since `unlock_buffer()` predates git and was last modified in
'commit 4e857c58efeb9 ("arch: Mass conversion of smp_mb__*()")', years
before `clear_and_wake_up_bit()`, it still uses the open-coded sequence.
Replace the open-coded sequence with the helper to avoid duplicate code
and reduce code paths to maintain.
Suggested-by: shuo chen <1289151713@qq.com>
Link: https://lore.kernel.org/kernelnewbies/agzoqV835-co4kAN@guidai/T/#t
Signed-off-by: Agatha Isabelle Moreira <code@agatha.dev>
Link: https://patch.msgid.link/ag4SD-mkmn5IbuN7@guidai
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions
