On Friday 30 May 2008 15:20:45 Christoph Lameter wrote: > On Fri, 30 May 2008, Eric Dumazet wrote: > > > +static DEFINE_PER_CPU(UNIT_TYPE, area[UNITS]); > > > > area[] is not guaranteed to be aligned on anything but 4 bytes. > > > > If someone then needs to call cpu_alloc(8, GFP_KERNEL, 8), it might get > > an non aligned result. > > > > Either you should add an __attribute__((__aligned__(PAGE_SIZE))), > > or take into account the real address of area[] in cpu_alloc() to avoid > > waste of up to PAGE_SIZE bytes > > per cpu. > > I think cacheline aligning should be sufficient. People should not > allocate large page aligned objects here. I vaguely recall there were issues with this in the module code. They might be gone now, but failing to meet alignment contraints without a big warning would suck. But modifying your code to consider the actual alignment is actually pretty trivial, AFAICT. Cheers, Rusty. -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html