Messages in this thread |  | | | Subject | fio mmap sequential read 30% regression | | From | "Zhang, Yanmin" <> | | Date | Thu, 02 Jul 2009 16:01:22 +0800 |
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@linux-foundation.org> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |