You've already forked linux-rockchip
mirror of
https://github.com/armbian/linux-rockchip.git
synced 2026-01-06 11:08:10 -08:00
BACKPORT: f2fs: avoid down_write on nat_tree_lock during checkpoint
Let's cache nat entry if there's no lock contention only.
Bug: 214413989
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
(cherry picked from commit 0df035c720
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master)
[ Address merge conflict ]
Change-Id: I0bf70451bc0b148ebb88429d6294ea8e68008e48
This commit is contained in:
@@ -428,6 +428,10 @@ static void cache_nat_entry(struct f2fs_sb_info *sbi, nid_t nid,
|
||||
struct f2fs_nm_info *nm_i = NM_I(sbi);
|
||||
struct nat_entry *new, *e;
|
||||
|
||||
/* Let's mitigate lock contention of nat_tree_lock during checkpoint */
|
||||
if (rwsem_is_locked(&sbi->cp_global_sem))
|
||||
return;
|
||||
|
||||
new = __alloc_nat_entry(nid, false);
|
||||
if (!new)
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user