Re: [patch 2/3] add new macros to make percpu readmostly sectioncorrectly align

From: Sam Ravnborg
Date: Thu Dec 16 2010 - 00:46:31 EST


On Thu, Dec 16, 2010 at 08:53:37AM +0800, Shaohua Li wrote:
> On Wed, 2010-12-15 at 22:08 +0800, Tejun Heo wrote:
> > Hello,
> >
> > On 12/15/2010 02:57 AM, Shaohua Li wrote:
> > > How about this one?
> >
> > Much better. :-)
> >
> > > +#ifdef INTERNODE_CACHE_BYTES
> > > +#define INTERNODE_CACHEALIGNED \
> > > + . = ALIGN(INTERNODE_CACHE_BYTES);
> > > +#else
> > > +#define INTERNODE_CACHEALIGNED
> > > +#endif
> >
> > Yeah, this looks good.
> >
> > > Index: linux/arch/x86/kernel/vmlinux.lds.S
> > > ===================================================================
> > > --- linux.orig/arch/x86/kernel/vmlinux.lds.S 2010-12-15 09:37:01.000000000 +0800
> > > +++ linux/arch/x86/kernel/vmlinux.lds.S 2010-12-15 09:37:06.000000000 +0800
> > > @@ -20,11 +20,11 @@
> > > #define LOAD_OFFSET __START_KERNEL_map
> > > #endif
> > >
> > > -#include <asm-generic/vmlinux.lds.h>
> > > #include <asm/asm-offsets.h>
> > > #include <asm/thread_info.h>
> > > #include <asm/page_types.h>
> > > #include <asm/cache.h>
> > > +#include <asm-generic/vmlinux.lds.h>
> > > #include <asm/boot.h>
> >
> > Why do we need this chunk?
> the cache size is defined in cache.h, so I need move vmlinux.lds.h after
> cache.h

The right fix is to move the inclusion of cache.h to asm-generic/vmlinux.lds.h.
A quick audit only found sparc that failed to guard non assembler stuff.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/