ext4: drop s_mb_bal_lock and convert protected fields to atomic
authorHarshad Shirwadkar <harshadshirwadkar@gmail.com>
Thu, 1 Apr 2021 17:21:23 +0000 (10:21 -0700)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 9 Apr 2021 15:34:58 +0000 (11:34 -0400)
commit67d25186046145748d5fe4c5019d832215e01c1e
tree52f922b1ea1d7aebdc6225feb40b2422295e9656
parenta149d2a5cabbf6507a7832a1c4fd2593c55fd450
ext4: drop s_mb_bal_lock and convert protected fields to atomic

s_mb_buddies_generated gets used later in this patch series to
determine if the cr 0 and cr 1 optimziations should be performed or
not. Currently, s_mb_buddies_generated is protected under a
spin_lock. In the allocation path, it is better if we don't depend on
the lock and instead read the value atomically. In order to do that,
we drop s_bal_lock altogether and we convert the only two protected
fields by it s_mb_buddies_generated and s_mb_generation_time to atomic
type.

Signed-off-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Reviewed-by: Ritesh Harjani <ritesh.list@gmail.com>
Link: https://lore.kernel.org/r/20210401172129.189766-2-harshadshirwadkar@gmail.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/ext4.h
fs/ext4/mballoc.c