Re: [RFC patch] spindep: add cross cache lines checking

From: Alex Shi
Date: Tue Mar 06 2012 - 01:18:22 EST


Resend for correct tglx's address. Sorry!
> > >
> > > Have you tried making this a compile-time check using
> > > __alignof__? I would say that any spinlock in a packed data
> > > structure is basically a bug, even more so on most other
> > > architectures besides x86.
>
> I have one concern and one questions here:
> concern: maybe the lock is in a well designed 'packed' struct, and it is
> safe for cross lines issue. but __alignof__ will return 1;
>
> struct abc{
> raw_spinlock_t lock1;
> char a;
> char b;
> }__attribute__((packed));
>
> Since the lock is the first object of struct, usually it is well placed.
>
> question: I am a idiot on gcc, I tried some parameters of gcc " --param
> l1-cache-line-size=1 -mno-align-double" and can not make a cross lines
> variable without 'packed' structure, but I still don't find a grantee
> why gcc can avoid the cross line variable if it's not in 'packed'
> structure?
>
> > agreed.
> >
> > Thanks,
> >
> > Ingo
>


--
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/