mirror of https://gitee.com/openkylin/linux.git
f2fs: delete DIO read lock
This lock can be a contention with multi 4k random read IO with single inode. example) fio --output=test --name=test --numjobs=60 --filename=/media/samsung960pro/file_test --rw=randread --bs=4k --direct=1 --time_based --runtime=7 --ioengine=libaio --iodepth=256 --group_reporting --size=10G With this commit, it remove that possible lock contention. Signed-off-by: Dongjoo Seo <commisori28@gmail.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
530e070420
commit
ad8d6a02d6
|
@ -3453,7 +3453,8 @@ static ssize_t f2fs_direct_IO(struct kiocb *iocb, struct iov_iter *iter)
|
|||
err = __blockdev_direct_IO(iocb, inode, inode->i_sb->s_bdev,
|
||||
iter, rw == WRITE ? get_data_block_dio_write :
|
||||
get_data_block_dio, NULL, f2fs_dio_submit_bio,
|
||||
DIO_LOCKING | DIO_SKIP_HOLES);
|
||||
rw == WRITE ? DIO_LOCKING | DIO_SKIP_HOLES :
|
||||
DIO_SKIP_HOLES);
|
||||
|
||||
if (do_opu)
|
||||
up_read(&fi->i_gc_rwsem[READ]);
|
||||
|
|
Loading…
Reference in New Issue