Messages in this thread | | | Date | Tue, 15 Feb 2011 11:13:48 +0800 | From | Gui Jianfeng <> | Subject | Re: [PATCH 0/6 v4] cfq-iosched: Introduce CFQ group hierarchical scheduling and "use_hierarchy" interface |
| |
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 >
| |