Re: [PATCH 0/6 v4] cfq-iosched: Introduce CFQ group hierarchicalscheduling and "use_hierarchy" interface

From: Gui Jianfeng
Date: Mon Feb 14 2011 - 22:14:00 EST


Vivek Goyal wrote:
> On Sat, Feb 12, 2011 at 02:08:54PM +0800, Gui Jianfeng wrote:
>> Vivek Goyal wrote:
>>> On Thu, Feb 10, 2011 at 03:45:45PM +0800, Gui Jianfeng wrote:
>>>> Hi
>>>>
>>>> Previously, I posted a patchset to add support of CFQ group hierarchical scheduling
>>>> in the way that it puts all CFQ queues in a hidden group and schedules with other
>>>> CFQ group under their parent. The patchset is available here,
>>>> http://lkml.org/lkml/2010/8/30/30
>>>>
>>>> Vivek think this approach isn't so instinct that we should treat CFQ queues
>>>> and groups at the same level. Here is the new approach for hierarchical
>>>> scheduling based on Vivek's suggestion. The most big change of CFQ is that
>>>> it gets rid of cfq_slice_offset logic, and makes use of vdisktime for CFQ
>>>> queue scheduling just like CFQ group does. But I still give cfqq some jump
>>>> in vdisktime based on ioprio, thanks for Vivek to point out this. Now CFQ
>>>> queue and CFQ group use the same scheduling algorithm.
>>>>
>>>> "use_hierarchy" interface is now added to switch between hierarchical mode
>>>> and flat mode. It works as memcg.
>>>>
>>>> --
>>>> V3 -> V4 Changes:
>>>> - Take io class into account when calculating the boost value.
>>>> - Refine the vtime boosting logic as Vivek's Suggestion.
>>> Hi Gui,
>>>
>>> What testing did you do to make sure that this vtime boosting logic is working
>>> and is good replacement for slice_offset() logic for cfqq?
>>>
>>> Secondly, did you get a chance to look at chad's patch of keeping track
>>> of previous assigned vdisktime and keeping track of genrations. I think
>>> his patch is going to coflict with yours, so one of you will have to
>>> make adjustments. I think both the boost logic and keeping track of generation
>>> logic can be combined.
>> Hi Vivek,
>>
>> For the time being, boosting logic only works for cfq queue, and keepinging track of
>> generation works for cfq group.
>> I think when we introduce boosting logic for cfq group, we can combine these two logic
>> together.
>
> Ok, I am assuming that now you are introducing another patch in the series
> to get boosting logic working for groups also.
>
> Also, it might be easier to test it with group_idle=0, as right now groups
> don't preempt each other.

Vivek,

If you don't object, I'd like to introduce this in a seperate patch when this series
gets merged. For I don't want to add more complexity for this seires. ;)
I'll post v5.

Thanks,
Gui

>
> Thanks
> Vivek
>
--
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/