fio mmap sequential read 30% regression

From: Zhang, Yanmin
Date: Thu Jul 02 2009 - 04:01:14 EST


Comapring with 2.6.30's result, fio mmap sequtial read has
about 30% regression on one of my stoakley machine with 1
JBOD (7 SAS disks) with kernel 2.6.31-rc1.

ïEvery disk has 2 partitions and 4 1-GB files per partition. Start
10 processes per disk to do mmap read sequentinally.

Bisect down to below patch.

ef00e08e26dd5d84271ef706262506b82195e752 is first bad commit
commit ef00e08e26dd5d84271ef706262506b82195e752
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Jun 16 15:31:25 2009 -0700

readahead: clean up and simplify the code for filemap page fault readahead

This shouldn't really change behavior all that much, but the single rather
complex function with read-ahead inside a loop etc is broken up into more
manageable pieces.

The behaviour is also less subtle, with the read-ahead being done up-front
rather than inside some subtle loop and thus avoiding the now unnecessary
extra state variables (ie "did_readaround" is gone).

Fengguang: the code split in fact fixed a bug reported by Pavel Levshin:
the PGMAJFAULT accounting used to be bypassed when MADV_RANDOM is set, in
which case the original code will directly jump to no_cached_page reading.


The bisect is stable.

Yanmin


--
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/