[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20100319075719.GM5768@kernel.dk>
Date: Fri, 19 Mar 2010 08:57:19 +0100
From: Jens Axboe <jens.axboe@...cle.com>
To: Shaohua Li <shaohua.li@...el.com>
Cc: Corrado Zoccolo <czoccolo@...il.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"vgoyal@...hat.com" <vgoyal@...hat.com>,
"jmoyer@...hat.com" <jmoyer@...hat.com>,
"guijianfeng@...fujitsu.com" <guijianfeng@...fujitsu.com>,
"Shi, Alex" <alex.shi@...el.com>
Subject: Re: [RFC]cfq-iosched: fix a kbuild regression
On Thu, Mar 18 2010, Shaohua Li wrote:
> On Thu, Mar 18, 2010 at 02:24:10AM +0800, Corrado Zoccolo wrote:
> > On Wed, Mar 17, 2010 at 2:30 PM, Jens Axboe <jens.axboe@...cle.com> wrote:
> > > On Tue, Mar 16 2010, Shaohua Li wrote:
> > >> Alex Shi reported a kbuild regression which is about 10% performance lost.
> > >> He bisected to this commit: 3dde36ddea3e07dd025c4c1ba47edec91606fec0.
> > >> The reason is cfqq_close() can't find close cooperator. If we store the seek
> > >> distance to the value before the commit like below, the regression fully goes
> > >> away. If this is too invasive, just changing the cfq_rq_close() for the
> > >> !for_preempt is ok too.
> > >
> > > Corrado, any objections to widening the seek threshold?
> >
> > The previous seek threshold value was meant to be compared with the
> > average seek distance, so it was large to account for variations.
> > Since we handle the variations differently, we should have a smaller
> > value now (the 100 * 8 was the result of a benchmark run on several
> > disks).
> Our test doesn't find any issue with the seek threshold so far, so it proberly
> is ok.
>
> > I agreee, though, that for merging queues, it is now too small, so we
> > should have two thresholds, the current one used to determine if a
> > request causes a seek, and an other to be used inside cfq_close (with
> > the older value, regardless of for_preempt).
> That makes sense. Updated patch.
>
>
> Alex Shi reported a kbuild regression which is about 10% performance lost.
> He bisected to this commit: 3dde36ddea3e07dd025c4c1ba47edec91606fec0.
> The reason is cfqq_close() can't find close cooperator. Restoring
> cfq_rq_close()'s threshold to original value makes the regression go away.
>
> Since for_preempt parameter isn't used anymore, this patch deletes it.
Thanks, I have applied it.
--
Jens Axboe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists