On Fri, 29 Jul 2011, Christoph Lameter wrote: > > We haven't come up with a solution to keep struct page size the same but I > > think it's a reasonable trade-off. > We won't be coming up with a solution to that since the alignment is a requirement for cmpxchg16b, unfortunately. > The change requires the page struct to be aligned to a double word > boundary. There is actually no variable added to the page struct. Its just > the alignment requirement that causes padding to be added after each page > struct. > Well, the counters variable is added although it doesn't increase the size of the unaligned struct page because of how it is restructured. The end result of the alignment for CONFIG_CMPXCHG_LOCAL is that struct page will increase from 56 bytes to 64 bytes on my config. That's a cost of 128MB on each of my client and server 64GB machines for the netperf benchmark for the ~2.3% speedup. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>