[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1331014702.18835.255.camel@debian>
Date: Tue, 06 Mar 2012 14:18:22 +0800
From: Alex Shi <alex.shi@...el.com>
To: Ingo Molnar <mingo@...e.hu>
Cc: Arnd Bergmann <arnd@...db.de>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"mingo@...hat.com" <mingo@...hat.com>, hpa@...or.com,
akpm@...ux-foundation.org, linux-kernel@...r.kernel.org,
x86@...nel.org, andi.kleen@...el.com, gcc-help@....gnu.org
Subject: Re: [RFC patch] spindep: add cross cache lines checking
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists