Re: [RFC] Block IO Controller V2 - some results

From: Corrado Zoccolo
Date: Fri Nov 20 2009 - 14:50:59 EST


On Fri, Nov 20, 2009 at 7:42 PM, Vivek Goyal <vgoyal@xxxxxxxxxx> wrote:
>
> Should we also take into account the "cfqq->dispatched" request in
> determining whether we should enable idling on deep queue random seeky
> readers?

Probably, but I think the most important thing is to do some averaging
or hysteresis, so the completion of a single request doesn't cause the
switch of a workload.

>
> Adding that helps me a bit in cgroup setup but I still see sync seeky random
> writers switching between sync and sync-noidle so frequently.
>
> In fact I think that's part of the reason why it is slow. Out of 4, 1
> random seeky reader will switch group so often and then will not drive
> the enough queue depth. Rest of them seem to be running in other group.
>
> In fact sometimes this same writer will jump to second group, get the time
> slice and then jump back to root group and then again get the time slice
> in sync-noidle category. This will preempt the reader in root group at the
> same time will not drive higher queue depths as rest of the writers are
> in other groups.
>
> So frequent switching of type of random seeky reqder queue from
> sync --> sync-noidle--->sync seems to be one of the hurting factors.
>
> But when I started taking cfqq->dispatched also in account, share of
> random writers increased when running without cgroups. So it is kind of
> puzzling.
>
> But in general, we need to stablize the type of a queue and it should
> not vary so fast, given the fact nature of the workload/queue has not
> changed.
Yes. I'll work on a better patch.

>> > With cgroup, problem still persists. I am wondering why both are loosing.
>> > Looks like I am idling somewhere otherwise at least one person should have
>> > gained.
>> With just 2 groups (one is the root), you can't be idling 50% of the
>> time. How is the disk utilization during the test?
>>
>
> How do I measure the utilization of the array?
On software raids (with md), 'iostat -x 2' shows the utilization of
the md device, as well as the single components, so you can see if the
array is fully utilized. On hardware raid, you can't see the
individual disks, so it is less useful.

Thanks
Corrado

>> Note that you can lose even if you're not idling enough.
>> How does this workload fare with noop or deadline.
>> Thanks
>> Corrado
>>
>> >
>> > Thanks
>> > Vivek
>> >
>>
>>
>>
>> --
>> __________________________________________________________________________
>>
>> dott. Corrado Zoccolo             Âmailto:czoccolo@xxxxxxxxx
>> PhD - Department of Computer Science - University of Pisa, Italy
>> --------------------------------------------------------------------------
>> The self-confidence of a warrior is not the self-confidence of the average
>> man. The average man seeks certainty in the eyes of the onlooker and calls
>> that self-confidence. The warrior seeks impeccability in his own eyes and
>> calls that humbleness.
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ÂTales of Power - C. Castaneda
>



--
__________________________________________________________________________

dott. Corrado Zoccolo mailto:czoccolo@xxxxxxxxx
PhD - Department of Computer Science - University of Pisa, Italy
--------------------------------------------------------------------------
The self-confidence of a warrior is not the self-confidence of the average
man. The average man seeks certainty in the eyes of the onlooker and calls
that self-confidence. The warrior seeks impeccability in his own eyes and
calls that humbleness.
Tales of Power - C. Castaneda
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/