Re: [PATCH RFC 10/22] block, bfq: add full hierarchical scheduling and cgroups support

From: Paolo Valente
Date: Fri Apr 22 2016 - 14:19:58 EST



Il giorno 22/apr/2016, alle ore 20:13, Tejun Heo <tj@xxxxxxxxxx> ha scritto:

> Hello, Paolo.
>
> On Wed, Apr 20, 2016 at 11:32:23AM +0200, Paolo wrote:
>> This malfunction seems related to a blkcg behavior that I did not
>> expect: the sequential writer changes group continuously. It moves
>> from the root group to its correct group, and back. Here is the
>> output of
>>
>> egrep 'insert_request|changed cgroup' trace
>>
>> over a trace taken with the original version of cfq (seq_write is of
>> course the group of the writer):
> ...
>> For reasons that I don't yet know, group changes are much more
>> frequent with bfq, which ultimately causes bfq to fail to isolate the
>> writer from the reader.
>>
>> While I go on trying to understand why, could you please tell me
>> whether this fluctuation is normal, and/or point me to documentation from
>> which I can better understand this behavior, without bothering you
>> further?
>
> So, a kworker would jump through different workqueues and issue IOs
> for different writeback domains and the context can't be tied to the
> issuing task. The cgroup membership should be determined directly
> from the bio.

Yes. My doubt arises from the fact that the only source of intense I/O
is the dd (I have executed it alone). In contrast, group changes occur
at a high frequency during all the execution of the dd. Apparently I
cannot see any other I/O induced by the dd. Journaling issues sync
requests.

> cfq uses per-cgroup async queue. I'm not sure how this
> would map to bfq tho.
>

It’s the same. But this is the part I’m checking.

Thanks,
Paolo

> Thanks.
>
> --
> tejun