linux-yocto/fs/ext4
Julian Sun d932fb292f ext4: increase IO priority of fastcommit
[ Upstream commit 46e75c56df ]

The following code paths may result in high latency or even task hangs:
   1. fastcommit io is throttled by wbt.
   2. jbd2_fc_wait_bufs() might wait for a long time while
JBD2_FAST_COMMIT_ONGOING is set in journal->flags, and then
jbd2_journal_commit_transaction() waits for the
JBD2_FAST_COMMIT_ONGOING bit for a long time while holding the write
lock of j_state_lock.
   3. start_this_handle() waits for read lock of j_state_lock which
results in high latency or task hang.

Given the fact that ext4_fc_commit() already modifies the current
process' IO priority to match that of the jbd2 thread, it should be
reasonable to match jbd2's IO submission flags as well.

Suggested-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Signed-off-by: Julian Sun <sunjunchao@bytedance.com>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Message-ID: <20250827121812.1477634-1-sunjunchao@bytedance.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-11-24 10:29:44 +01:00
..
.kunitconfig
acl.c ext4: convert to ctime accessor functions 2023-07-24 10:29:54 +02:00
acl.h ext4: apply umask if ACL support is disabled 2023-11-28 17:20:15 +00:00
balloc.c ext4: reorder capability check last 2025-06-04 14:41:57 +02:00
bitmap.c
block_validity.c ext4: make block validity check resistent to sb bh corruption 2025-05-02 07:51:00 +02:00
crypto.c ext4: fix memory leaks in ext4_fname_{setup_filename,prepare_lookup} 2023-08-05 08:17:56 -04:00
dir.c ext4: fix OOB read when checking dotdot dir 2025-04-10 14:37:43 +02:00
ext4_extents.h
ext4_jbd2.c ext4: wait for ongoing I/O to complete before freeing blocks 2025-10-23 16:16:24 +02:00
ext4_jbd2.h
ext4.h ext4: fix checks for orphan inodes 2025-10-15 11:58:08 +02:00
extents_status.c ext4: fix infinite loop when replaying fast_commit 2024-08-03 08:53:53 +02:00
extents_status.h ext4: make ext4_es_insert_extent() return void 2023-06-26 19:35:12 -04:00
extents.c ext4: factor out ext4_get_maxbytes() 2025-06-27 11:08:47 +01:00
fast_commit.c ext4: increase IO priority of fastcommit 2025-11-24 10:29:44 +01:00
fast_commit.h
file.c ext4: fix checks for orphan inodes 2025-10-15 11:58:08 +02:00
fsmap.c ext4: correctly handle queries for metadata mappings 2025-10-19 16:30:56 +02:00
fsmap.h
fsync.c ext4: drop EXT4_MF_FS_ABORTED flag 2023-07-29 18:37:53 -04:00
hash.c ext4: remove redundant checks of s_encoding 2023-08-27 11:27:13 -04:00
ialloc.c ext4: convert to new timestamp accessors 2025-01-09 13:31:40 +01:00
indirect.c ext4: fix hole length calculation overflow in non-extent inodes 2025-08-28 16:28:34 +02:00
inline.c ext4: do not BUG when INLINE_DATA_FL lacks system.data xattr 2025-08-28 16:28:25 +02:00
inode-test.c ext4: convert to ctime accessor functions 2023-07-24 10:29:54 +02:00
inode.c ext4: detect invalid INLINE_DATA + EXTENTS flag combination 2025-10-23 16:16:24 +02:00
ioctl.c ext4: convert to new timestamp accessors 2025-01-09 13:31:40 +01:00
Kconfig fs: add CONFIG_BUFFER_HEAD 2023-08-02 09:13:09 -06:00
Makefile
mballoc.c ext4: fix largest free orders lists corruption on mb_optimize_scan switch 2025-08-28 16:28:30 +02:00
mballoc.h ext4: fix FS_IOC_GETFSMAP handling 2024-12-09 10:32:42 +01:00
migrate.c ext4: fix i_data_sem unlock order in ext4_ind_migrate() 2024-10-10 11:57:39 +02:00
mmp.c ext4: fix race in buffer_head read fault injection 2024-12-09 10:31:46 +01:00
move_extent.c ext4: fix an off-by-one issue during moving extents 2025-10-19 16:30:56 +02:00
namei.c ext4: fix off-by-one error in do_split 2025-04-25 10:45:27 +02:00
orphan.c ext4: free orphan info with kvfree 2025-10-19 16:30:57 +02:00
page-io.c ext4: do not convert the unwritten extents if data writeback fails 2025-06-04 14:41:59 +02:00
readpage.c ext4: remove calls to to set/clear the folio error flag 2024-12-09 10:31:45 +01:00
resize.c ext4: fix race in buffer_head read fault injection 2024-12-09 10:31:46 +01:00
super.c ext4: avoid potential buffer over-read in parse_apply_sb_mount_options() 2025-10-23 16:16:42 +02:00
symlink.c
sysfs.c ext4: avoid ptr null pointer dereference 2024-07-18 13:21:25 +02:00
truncate.h
verity.c
xattr_hurd.c
xattr_security.c
xattr_trusted.c
xattr_user.c
xattr.c fs: ext4: change GFP_KERNEL to GFP_NOFS to avoid deadlock 2025-11-24 10:29:44 +01:00
xattr.h