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

From: Vivek Goyal
Date: Mon Feb 14 2011 - 13:06:27 EST


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.

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/