Re: [RFC]cfq-iosched: fix a kbuild regression

From: Jens Axboe
Date: Wed Mar 17 2010 - 09:30:25 EST


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?

>
> Reported-by: Alex Shi <alex.shi@xxxxxxxxx>
> Signed-off-by: Shaohua Li <shaohua.li@xxxxxxxxx>
>
> diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
> index dee9d93..fcae456 100644
> --- a/block/cfq-iosched.c
> +++ b/block/cfq-iosched.c
> @@ -46,7 +46,7 @@ static const int cfq_hist_divisor = 4;
> #define CFQ_HW_QUEUE_MIN (5)
> #define CFQ_SERVICE_SHIFT 12
>
> -#define CFQQ_SEEK_THR (sector_t)(8 * 100)
> +#define CFQQ_SEEK_THR (sector_t)(8 * 1024)
> #define CFQQ_SECT_THR_NONROT (sector_t)(2 * 32)
> #define CFQQ_SEEKY(cfqq) (hweight32(cfqq->seek_history) > 32/8)
>

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/