Re: ZONE_PADDING wastes 4 bytes of the new cacheline

Mikael Pettersson
2004-10-21T10:56:44Z

Andrew Morton writes:
> Nick Piggin <nickpiggin@yahoo.com.au> wrote:
> >
> > > #if defined(CONFIG_SMP)
> > > struct zone_padding {
> > > - int x;
> > > } ____cacheline_maxaligned_in_smp;
> > > #define ZONE_PADDING(name) struct zone_padding name;
> > > #else
> >
> > Perhaps to keep old compilers working? Not sure.
>
> gcc-2.95 is OK with it.

Have you verified that? GCCs up to and including 2.95.3 and
early versions of 2.96 miscompiled the kernel when spinlocks
where empty structs on UP. I.e., you might not get a compile-time
error but runtime corruption instead.