Commit 0df035c7 authored by Jaegeuk Kim's avatar Jaegeuk Kim
Browse files

f2fs: avoid down_write on nat_tree_lock during checkpoint



Let's cache nat entry if there's no lock contention only.

Reviewed-by: default avatarChao Yu <chao@kernel.org>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 7377e853
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -430,6 +430,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(sbi, nid, false);
	if (!new)
		return;