Messages in this thread | | | Date | Tue, 15 Dec 2009 09:28:41 -0500 | From | Vivek Goyal <> | Subject | Re: [PATCH] cfq: set workload as expired if it doesn't have any slice left. |
| |
On Tue, Dec 15, 2009 at 09:53:39AM +0800, Gui Jianfeng wrote: > When a group is resumed, if it doesn't have workload slice left, > we should set workload_expires as expired. Otherwise, we might > start from where we left in previous group by error. > Thanks the idea from Corrado. > > Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
Thanks Gui. Looks good.
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Vivek
> --- > block/cfq-iosched.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c > index f3f6239..e2f8046 100644 > --- a/block/cfq-iosched.c > +++ b/block/cfq-iosched.c > @@ -2113,7 +2113,9 @@ static void cfq_choose_cfqg(struct cfq_data *cfqd) > cfqd->workload_expires = jiffies + cfqg->saved_workload_slice; > cfqd->serving_type = cfqg->saved_workload; > cfqd->serving_prio = cfqg->saved_serving_prio; > - } > + } else > + cfqd->workload_expires = jiffies - 1; > + > choose_service_tree(cfqd, cfqg); > } > > -- > 1.5.4.rc3
| |