Re: Time sliced CFQ io scheduler

Jens Axboe
2004-12-02T19:52:53Z

On Thu, Dec 02 2004, Andrew Morton wrote:
> Jens Axboe <axboe@suse.de> wrote:
> >
> > as:
> > Reader: 27985KiB/sec (max_lat=34msec)
> > Writer: 64KiB/sec (max_lat=1042msec)
> >
> > cfq:
> > Reader: 12703KiB/sec (max_lat=108msec)
> > Writer: 9743KiB/sec (max_lat=89msec)
> >
> > If you look at vmstat while running these tests, cfq and deadline give
> > equal bandwidth for the reader and writer all the time, while as
> > basically doesn't give anything to the writer (a single block per second
> > only). Nick, is the write batching broken or something?
>
> Looks like it. We used to do 2/3rds-read, 1/3rd-write in that testcase.

But 'as' has had no real changes in about 9 months time, it's really
strange. Twiddling with write expire and write batch expire settings
make no real difference. Upping the ante to 4 clients, two readers and
two writers work about the same: 27MiB/sec aggregate read bandwidth,
~100KiB/sec write.

At least something needs to be done about it. I don't know what kernel
this is a regression against, but at least it means that current 2.6
with its default io scheduler has basically zero write performance in
presence of reads.

--
Jens Axboe