From: Julian Sun <sunjunchao@bytedance.com>
To: Jan Kara <jack@suse.cz>
Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com>,
linux-ext4@vger.kernel.org, tytso@mit.edu, jack@suse.com,
yi.zhang@huawei.com
Subject: Re: [PATCH] jbd2: Increase IO priority of checkpoint.
Date: Wed, 27 Aug 2025 19:53:52 +0800 [thread overview]
Message-ID: <f6d49614-bb35-450b-a683-d514b2b52f31@bytedance.com> (raw)
In-Reply-To: <pnskj4s6nxyyootkrxcz7nl5exqzs7sdw2jfehq2z4xc6yvs67@mx7dymx7vsjk>
在 2025/8/27 19:15, Jan Kara 写道:
> On Wed 27-08-25 12:57:32, Julian Sun wrote:
>> 在 2025/8/27 04:55, Ritesh Harjani (IBM) 写道:
>>> Julian Sun <sunjunchao@bytedance.com> writes:
>>>
>>>> In commit 6a3afb6ac6df ("jbd2: increase the journal IO's priority"),
>>>> the priority of IOs initiated by jbd2 has been raised, exempting them
>>>> from WBT throttling.
>>>> Checkpoint is also a crucial operation of jbd2. While no serious issues
>>>> have been observed so far, it should still be reasonable to exempt
>>>> checkpoint from WBT throttling.
>>>>
>>>
>>> Interesting.. I was wondering whether we were able to observe any
>>> throttling for jbd2 log writes or for jbd2 checkpoint?
>>> Maybe It would have been nice, if we had some kind of data for this.
>>
>> Good idea. But AFAICS wbt lacks of such a obversation mechanism now..>
>
> Well, I guess Ritesh meant some test case which is reproducing the
> situation where jbd2 log writes get stalled.
Ah, thanks for the clarification. It may be a little bit difficult to
reproduce it manually, I’ll give it a shot but I’m not sure if I can do
it..>
>>> BTW - does it make sense for fastcommit path too maybe for non-tail
>>> fc write requests? I think it uses ext4_fc_submit_bh().
>>
>> Yeah, I think so.
>> After a rough check of the code, the following code paths may result in high
>> latency or even task hangs:
>> 1. fastcommit io is throttled by wbt or other block layer qos policies.
>> 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.
>>
>> Hi, Jan, please correct me if I'm missing anything.
>
> I think you're correct. In fact ext4_fc_commit() does modify current
> process' io priority to match that of jbd2 thread so it would be logical
> to match IO submission flags as well.
Thanks, I will send a patch to improve here.>
> Honza
--
Julian Sun <sunjunchao@bytedance.com>
next prev parent reply other threads:[~2025-08-27 11:53 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-25 12:53 [PATCH] jbd2: Increase IO priority of checkpoint Julian Sun
2025-08-25 13:47 ` Jan Kara
2025-08-26 2:18 ` Zhang Yi
2025-08-26 20:55 ` Ritesh Harjani
2025-08-27 4:57 ` [External] " Julian Sun
2025-08-27 4:57 ` Julian Sun
2025-08-27 11:15 ` Jan Kara
2025-08-27 11:53 ` Julian Sun [this message]
2025-09-26 21:47 ` Theodore Ts'o
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f6d49614-bb35-450b-a683-d514b2b52f31@bytedance.com \
--to=sunjunchao@bytedance.com \
--cc=jack@suse.com \
--cc=jack@suse.cz \
--cc=linux-ext4@vger.kernel.org \
--cc=ritesh.list@gmail.com \
--cc=tytso@mit.edu \
--cc=yi.zhang@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.