change pagevec counters back to unsigned long and cacheline align
PATCH 1/1 change pagevec counters back to unsigned long and cacheline align
Change pagevec "nr" and "cold" back to "unsigned long", because 4 byte accesses can be slow on architectures < Pentium III (additional "data16" operand on instruction).
This still honours the cacheline alignment, making the size of "pagevec" structure a power of two (either 64 or 128 bytes).
Haven't been able to see any significant change on performance on my limited testing.
include/linux/pagevec.h +4 -3
@@ -5,14 +5,15 @@* pages. A pagevec is a multipage container which is used for that. */ -#define PAGEVEC_SIZE 15 +/* 14 pointers + two long's align the pagevec structure to a power of two */ +#define PAGEVEC_SIZE 14struct page ;struct address_space ;struct pagevec { -unsigned short nr; -unsigned short cold; +unsigned long nr; +unsigned long cold;struct page *pages[PAGEVEC_SIZE ]; };
----- End forwarded message -----
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>