On Fri, Dec 14, 2007 at 04:38:04PM +0100, Eric Dumazet wrote: > Matt Mackall a ?crit : > >On Thu, Dec 13, 2007 at 11:20:44PM +0100, Adrian Bunk wrote: > > > >>I tried the following patch with a full x86 .config [1]: > >> > >>--- a/include/asm-x86/cache.h > >>+++ b/include/asm-x86/cache.h > >>-#define __read_mostly __attribute__((__section__(".data.read_mostly"))) > >>+/* #define __read_mostly > >>__attribute__((__section__(".data.read_mostly"))) */ > >> > >>The result [2,3] was: > >> > >>-rwxrwxr-x 1 bunk bunk 46607243 2007-12-13 19:50 vmlinux.old > >>-rwxrwxr-x 1 bunk bunk 46598691 2007-12-13 21:55 vmlinux > >> > >>It's not a surprise that the kernel can become bigger when __read_mostly > >>gets used, especially in cases where __read_mostly prevents gcc > >>optimizations. > >> > >>My question is: > >>Is there anywhere in the kernel a case where __read_mostly brings a > >>measurable improvement or can it be removed? > >> > > > >Yes, but perhaps we can put it under CONFIG_BASE_FULL? > > > > > Yes, we probably can do something like that (in addition to !CONFIG_SMP) Excellent point. If either CONFIG_BASE_FULL or CONFIG_SMP are not set, we should not define __read_mostly. -- Mathematics is the supreme nostalgia of our time. - 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