f2fs: introduce F2FS_UNFAIR_RWSEM to support unfair rwsem
authorJaegeuk Kim <jaegeuk@kernel.org>
Thu, 3 Mar 2022 21:21:27 +0000 (13:21 -0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 4 Mar 2022 17:15:53 +0000 (09:15 -0800)
commit7f8e249dccc4c530cf26c2c091f5bb64e701c262
tree10ac7c57fbc469361ed04b35bd4f0179a5665851
parent50c63009f6ab37eb78d8b4f9bc606a12b2b46505
f2fs: introduce F2FS_UNFAIR_RWSEM to support unfair rwsem

Unfair rwsem should be used when blk-cg is on. Otherwise, there is regression.

FYI, we noticed a -26.7% regression of aim7.jobs-per-min due to commit:

commit: e4544b63a7ee49e7fbebf35ece0a6acd3b9617ae ("f2fs: move f2fs to use reader-unfair rwsems")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master

in testcase: aim7
on test machine: 88 threads 2 sockets Intel(R) Xeon(R) Gold 6238M CPU @ 2.10GHz with 128G memory
with following parameters:

disk: 4BRD_12G
md: RAID0
fs: f2fs
test: sync_disk_rw
load: 100
cpufreq_governor: performance
ucode: 0x500320a

test-description: AIM7 is a traditional UNIX system level benchmark suite which is used to test and measure the performance of multiuser system.
test-url: https://sourceforge.net/projects/aimbench/files/aim-suite7/

Reported-by: kernel test robot <oliver.sang@intel.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/Kconfig
fs/f2fs/f2fs.h