lkml.org 
[lkml]   [2010]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2/5] cfq-iosched: Implment IOPS mode for group scheduling
    On Tue, Jul 27, 2010 at 01:47:39PM +0800, Gui Jianfeng wrote:

    [..]
    > > @@ -913,19 +927,21 @@ static void cfq_group_served(struct cfq_data *cfqd, struct cfq_group *cfqg,
    > > struct cfq_queue *cfqq)
    > > {
    > > struct cfq_rb_root *st = &cfqd->grp_service_tree;
    > > - unsigned int used_sl, charge_sl;
    > > + unsigned int used_sl, charge;
    > > int nr_sync = cfqg->nr_cfqq - cfqg_busy_async_queues(cfqd, cfqg)
    > > - cfqg->service_tree_idle.count;
    > >
    > > BUG_ON(nr_sync < 0);
    > > - used_sl = charge_sl = cfq_cfqq_slice_usage(cfqq);
    > > + used_sl = charge = cfq_cfqq_slice_usage(cfqq);
    > >
    > > - if (!cfq_cfqq_sync(cfqq) && !nr_sync)
    > > - charge_sl = cfqq->allocated_slice;
    > > + if (iops_mode(cfqd))
    > > + charge = cfqq->slice_dispatch;
    >
    > Hi Vivek,
    >
    > At this time, requests may still stay in dispatch list, shall we add a new variable
    > in cfqq to keep track of the number of requests that go into driver, and charging
    > this number?
    >

    Hi Gui,

    How does that help. Even if request is in dispatch list, sooner or later
    it will be dispatched. As long as we can make sure that requests in
    dispatch list are in proportion to group weights, things should be just
    fine.

    Thanks
    Vivek


    \
     
     \ /
      Last update: 2010-07-27 15:11    [W:0.027 / U:1.236 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site