Re: Random file I/O regressions in 2.6

Andrew Morton
2004-05-04T23:18:17Z

Alexey Kopytov <alexeyk@mysql.com> wrote:
>
> Without the patch (but with Ram's patch applied):
> ------------------
> Time spent for test: 125.4429s
>
> no of times window reset because of hits: 0
> no of times window reset because of misses: 127
> no of times window was shrunk because of hits: 1153
> no of times the page request was non-contiguous: 3968
> no of times the page request was contiguous : 10686
>
> With the patch:
> ---------------
> Time spent for test: 86.5459s
>
> no of times window reset because of hits: 0
> no of times window reset because of misses: 0
> no of times window was shrunk because of hits: 1066
> no of times the page request was non-contiguous: 5860
> no of times the page request was contiguous : 18099
>

The patch brought my test box to the same speed as 2.4. With the deadline
scheduler it was a bit faster than 2.4. I didn't do a lot of testing
though. I was using ext2. Please try deadline.

> I wonder if there are some plans to further improve 2.6 behavior on this
> workload to match that of 2.4?

Of course...

Tuning work is being done on the anticipatory scheduler which we hope will
bring it up to deadline throughput for this sort of workload.

> Is the remaing regression a result of the
> different readahead handling, or it might be caused by IDE driver or I/O
> scheduler tuning?

Don't know yet. On 2.6 the test actually does about 5% fewer reads than
under 2.4, so the VM page replacement is working a bit better in this case.
And 2.6 does about 40% fewer context switches for some reason. So we
should be a little bit faster - it's a matter of finding where the
additional seeks or idle time are coming from.