lkml.org 
[lkml]   [2009]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [GIT PULL] block bits for 2.6.30-rc3
On Wed, Apr 22 2009, Jens Axboe wrote:
> On Wed, Apr 22 2009, Damien Wyart wrote:
> > Hello,
> >
> > > A collection of fixes for 2.6.30-rc3. It includes fixes for
> > > regressions and bug fixes in general, along with two buglets in CFQ.
> > > Please pull.
> >
> > What about this bug in CFQ: http://lkml.org/lkml/2009/4/20/68 ?
> >
> > Do you plan to have it fixed for 2.6.30 or will it wait until 2.6.31?
>
> Not sure. In theory we could just do the one-liner and make
> ->slice_resid negative (like below), but it needs some targetted
> testing. And given that it's been there for several releases, it's not
> really a rush to get it fixed for 2.6.30.
>
> But I'll definitely throw it into the testing mix, and if deemed safe
> enough, get it in there for 2.6.30.
>
> diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
> index 7e13f04..17549f7 100644
> --- a/block/cfq-iosched.c
> +++ b/block/cfq-iosched.c
> @@ -887,7 +887,7 @@ __cfq_slice_expired(struct cfq_data *cfqd, struct cfq_queue *cfqq,
> * store what was left of this slice, if the queue idled/timed out
> */
> if (timed_out && !cfq_cfqq_slice_new(cfqq)) {
> - cfqq->slice_resid = cfqq->slice_end - jiffies;
> + cfqq->slice_resid = jiffies - cfqq->slice_end;
> cfq_log_cfqq(cfqd, cfqq, "resid=%ld", cfqq->slice_resid);
> }

BTW, it doesn't even matter for preempted processes, since they get
front insertion always. The better fix is probably to just kill
->slice_resid, or at least rethink the logic.

I'll let it sit for 2.6.30 and come up with something alternative (or
kill it) for 2.6.31.

--
Jens Axboe



\
 
 \ /
  Last update: 2009-04-22 14:49    [W:0.028 / U:0.676 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site