![]() | |||||||||||||
Messages in this thread |
From: Nick Piggin <npiggin@suse.de> Date: Fri, 18 May 2007 06:08:54 +0200 > I'd like to be the first to propose an increase to the size of struct page > just for the sake of increasing it! > > If we add 8 bytes to struct page on 64-bit machines, it becomes 64 bytes, > which is quite a nice number for cache purposes. > > However we don't have to let those 8 bytes go to waste: we can use them > to store the virtual address of the page, which kind of makes sense for > 64-bit, because they can likely to use complicated memory models. > > I'd say all up this is going to decrease overall cache footprint in > fastpaths, both by reducing text and data footprint of page_address and > related operations, and by reducing cacheline footprint of most batched > operations on struct pages. > > Flame away :) I've toyed with this several times on sparc64, and in my experience the extra memory reference on page->virtual costs on average about the same as the non-power-of-2 pointer arithmetic. The decision is absolutely arbitrary performance wise, but if you consider the memory wastage on enormous systems going without page->virtual I think is clearly better. - 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/ | ||||||||||||
| Last update: 2007-05-18 06:51 [from the cache] ©2003-2008 | |||||||||||||