Btw, this is an issue only on 32-bit x86, because on 64-bit one we already
have the padding due to the alignment of the 64-bit pointers in the
list_head (so there's already empty space there).
On 32-bit, the alignment of list-head is obviously just 32 bits, so right
now the structure is "perfectly packed" and doesn't have any empty space.
But that's just because the spinlock is unnecessarily big.
(Of course, if anybody really uses NR_CPUS >= 256 on 32-bit x86, then the
structure really will grow. That's a very odd configuration, though, and
not one I feel we really need to care about).
Linus
--