[PATCH] Module per-cpu alignment cannot always be met
authorRusty Russell <rusty@rustcorp.com.au>
Wed, 10 Aug 2005 12:52:38 +0000 (13:52 +0100)
committerChris Wright <chrisw@osdl.org>
Mon, 15 Aug 2005 00:20:11 +0000 (17:20 -0700)
commit24eda4e69d4f0a4d5a66c8b5a8fa9b895d832368
treed0396ba53a81783db3ba6ae6f29349504cf66809
parenta3692f99ef19cfb7fe0420837852108450dd8124
[PATCH] Module per-cpu alignment cannot always be met

Fwd from Daniel Drake <dsd@gentoo.org>.

The module code assumes noone will ever ask for a per-cpu area more than
SMP_CACHE_BYTES aligned.  However, as these cases show, gcc asks sometimes
asks for 32-byte alignment for the per-cpu section on a module, and if
CONFIG_X86_L1_CACHE_SHIFT is 4, we hit that BUG_ON().  This is obviously an
unusual combination, as there have been few reports, but better to warn
than die.

See:
http://www.ussg.iu.edu/hypermail/linux/kernel/0409.0/0768.html

And more recently:
http://bugs.gentoo.org/show_bug.cgi?id=97006

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Chris Wright <chrisw@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
kernel/module.c