]> err.no Git - linux-2.6/commit
[PATCH] memory page_alloc zonelist caching reorder structure
authorPaul Jackson <pj@sgi.com>
Thu, 7 Dec 2006 04:31:49 +0000 (20:31 -0800)
committerLinus Torvalds <torvalds@woody.osdl.org>
Thu, 7 Dec 2006 16:39:20 +0000 (08:39 -0800)
commit7253f4ef04b1cd138baf2b29a95473743ac0a307
tree5883e6773a3cdad31992539ba3ad989d2566a041
parent9276b1bc96a132f4068fdee00983c532f43d3a26
[PATCH] memory page_alloc zonelist caching reorder structure

Rearrange the struct members in the 'struct zonelist_cache' structure, so
as to put the readonly (once initialized) z_to_n[] array first, where it
will come right after the zones[] array in struct zonelist.

This pretty much eliminates the chance that the two frequently written
elements of 'struct zonelist_cache', the fullzones bitmap and last_full_zap
times, will end up on the same cache line as the performance sensitive,
frequently read, never (after init) written zones[] array.

Keeping frequently written data off frequently read cache lines is good for
performance.

Thanks to Rohit Seth for the suggestion.

Signed-off-by: Paul Jackson <pj@sgi.com>
Cc: Rohit Seth <rohitseth@google.com>
Cc: Paul Menage <menage@google.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/linux/mmzone.h