Thread (34 messages) 34 messages, 5 authors, 2020-02-19

Re: [PATCH 08/10] blkcg: implement blk-ioweight

From: Toke Høiland-Jørgensen <hidden>
Date: 2019-06-14 20:50:40
Also in: bpf, cgroups, lkml

Tejun Heo [off-list ref] writes:
Hello, Toke.

On Fri, Jun 14, 2019 at 02:17:45PM +0200, Toke Høiland-Jørgensen wrote:
quoted
One question: How are equal-weight cgroups scheduled relative to each
other? Or requests from different processes within a single cgroup for
that matter? FIFO? Round-robin? Something else?
Once each cgroup got their hierarchical weight and current vtime for
the period, they don't talk to each other.  Each is expected to do the
right thing on their own.  When the period ends, the timer looks at
how the device is performing, how much each used and so on and then
make necessary adjustments.  So, there's no direct cross-cgroup
synchronization.  Each is throttled to their target level
independently.
Right, makes sense.
Within a single cgroup, the IOs are FIFO. When an IO has enough vtime
credit, it just passes through. When it doesn't, it always waits
behind any other IOs which are already waiting.
OK. Is there any fundamental reason why requests from individual
processes could not be interleaved? Or does it just not give the same
benefits in an IO request context as it does for network packets?

Thanks for the explanations! :)

-Toke
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help