Hello, On Fri, Jun 14, 2019 at 10:50:34PM +0200, Toke Høiland-Jørgensen wrote: > > 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? I don't think there's any fundamental reason we can't. Currently, it just isn't doing anything it doesn't have to do while preserving the existing ordering. One different from networking could be that there's more sharing - buffered writes are attributed to the whole domain (either system or cgroup) rather than individual tasks, so the ownership of IOs gets a bit mushy beyond resource domain level. Thanks. -- tejun