diff options
author | Zhang Yi <yi.zhang@huawei.com> | 2023-11-29 12:47:40 +0100 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2023-12-01 05:27:39 +0100 |
commit | 6a3afb6ac6dfab158ebdd4b87941178f58c8939f (patch) | |
tree | fbbbf93a03dc5f3fb08947e8060dbe1aa0c5f334 /include | |
parent | jbd2: correct the printing of write_flags in jbd2_write_superblock() (diff) | |
download | linux-6a3afb6ac6dfab158ebdd4b87941178f58c8939f.tar.xz linux-6a3afb6ac6dfab158ebdd4b87941178f58c8939f.zip |
jbd2: increase the journal IO's priority
Current jbd2 only add REQ_SYNC for descriptor block, metadata log
buffer, commit buffer and superblock buffer, the submitted IO could be
throttled by writeback throttle in block layer, that could lead to
priority inversion in some cases. The log IO looks like a kind of high
priority metadata IO, so it should not be throttled by WBT like QOS
policies in block layer, let's add REQ_SYNC | REQ_IDLE to exempt from
writeback throttle, and also add REQ_META together indicates it's a
metadata IO.
Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20231129114740.2686201-2-yi.zhang@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/jbd2.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index 6dcbb4eb80fb..beb30719ee16 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h @@ -1374,6 +1374,9 @@ JBD2_FEATURE_INCOMPAT_FUNCS(csum2, CSUM_V2) JBD2_FEATURE_INCOMPAT_FUNCS(csum3, CSUM_V3) JBD2_FEATURE_INCOMPAT_FUNCS(fast_commit, FAST_COMMIT) +/* Journal high priority write IO operation flags */ +#define JBD2_JOURNAL_REQ_FLAGS (REQ_META | REQ_SYNC | REQ_IDLE) + /* * Journal flag definitions */ |