Hello,
On Fri, Jan 05, 2018 at 01:16:26PM +0800, xuejiufei wrote:
From: Jiufei Xue <redacted>
Cgroup writeback is supported since v4.2. But there exists a problem
in the following case.
A cgroup may send both buffer and direct/sync IOs. The foreground
thread will be stalled when periodic writeback IOs is flushed because
the service queue in block throttle layer already has a plenty of
writeback IOs, then foreground IOs should be enqueued with its FIFO
policy. The current policy is dispatching 6 reads and 2 writes during
each round, sync writes will be significantly delayed.
This patch adds another queue in block throttle. Now there are 3 queues
in a service queue: read, sync write, async write, and we can dispatch
more sync writes than aync writes.
We usually handle sync writes together with reads instead of
introducing a separate queue for sync writes.
Thanks.
--
tejun