| Submitter | Jens Axboe |
|---|---|
| Date | 2009-11-03 18:32:36 |
| Message ID | <20091103183235.GD8742@kernel.dk> |
| Download | mbox | patch |
| Permalink | /patch/57350/ |
| State | New |
| Headers | show |
Comments
Yes, the performance recovered with this patch on 32-rc6 kernel. On Wed, 2009-11-04 at 02:32 +0800, Jens Axboe wrote: > On Tue, Nov 03 2009, Shi, Alex wrote: > > I found the kernel building will have about 20%~ 30% regressions on > > our NHM machines. My kernel build do the following things 15 times: > > > > make mrproper; echo \"3\">/proc/sys/vm/drop_caches; make defconfig; > > make -j${2timescpunumbers} > > > > > > > > Bisect found it is due to the commitment: > > > > commit a6151c3a5c8e1ff5a28450bc8d6a99a2a0add0a7 > > I looked over that commit and found one typo, can you check with this > patch applied? > > diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c > index 069a610..5802e32 100644 > --- a/block/cfq-iosched.c > +++ b/block/cfq-iosched.c > @@ -2051,7 +2051,7 @@ cfq_should_preempt(struct cfq_data *cfqd, struct cfq_queue *new_cfqq, > * it's a metadata request and the current queue is doing regular IO. > */ > if (rq_is_meta(rq) && !cfqq->meta_pending) > - return false; > + return true; > > /* > * Allow an RT request to pre-empt an ongoing non-RT cfqq timeslice. > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
On Wed, Nov 04 2009, Alex Shi wrote: > On Wed, 2009-11-04 at 02:32 +0800, Jens Axboe wrote: > > On Tue, Nov 03 2009, Shi, Alex wrote: > > > I found the kernel building will have about 20%~ 30% regressions on > > > our NHM machines. My kernel build do the following things 15 times: > > > > > > make mrproper; echo \"3\">/proc/sys/vm/drop_caches; make defconfig; > > > make -j${2timescpunumbers} > > > > > > > > > > > > Bisect found it is due to the commitment: > > > > > > commit a6151c3a5c8e1ff5a28450bc8d6a99a2a0add0a7 > > > > I looked over that commit and found one typo, can you check with this > > patch applied? > > > > diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c > > index 069a610..5802e32 100644 > > --- a/block/cfq-iosched.c > > +++ b/block/cfq-iosched.c > > @@ -2051,7 +2051,7 @@ cfq_should_preempt(struct cfq_data *cfqd, struct cfq_queue *new_cfqq, > > * it's a metadata request and the current queue is doing regular IO. > > */ > > if (rq_is_meta(rq) && !cfqq->meta_pending) > > - return false; > > + return true; > > > > /* > > * Allow an RT request to pre-empt an ongoing non-RT cfqq timeslice. > > Yes, the performance recovered with this patch on 32-rc6 kernel. Great! The patch just missed -rc6, as I had already queued it up and asked for a pull. It's in current -git. Thanks a lot for reporting!
Patch
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 069a610..5802e32 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -2051,7 +2051,7 @@ cfq_should_preempt(struct cfq_data *cfqd, struct cfq_queue *new_cfqq, * it's a metadata request and the current queue is doing regular IO. */ if (rq_is_meta(rq) && !cfqq->meta_pending) - return false; + return true; /* * Allow an RT request to pre-empt an ongoing non-RT cfqq timeslice.