[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080729121156.GA367@elte.hu>
Date: Tue, 29 Jul 2008 14:11:56 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Rusty Russell <rusty@...tcorp.com.au>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Mike Travis <travis@....com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Al Viro <viro@...iv.linux.org.uk>
Subject: Re: [rfc git pull] cpus4096 fixes, take 2
* Rusty Russell <rusty@...tcorp.com.au> wrote:
> On Tuesday 29 July 2008 06:57:00 Ingo Molnar wrote:
> > +/*
> > + * In cases where we take the address of the cpumask immediately,
> > + * gcc optimizes it out (it's a constant) and there's no huge stack
> > + * variable created:
> > + */
> > +#define cpumask_of_cpu(cpu) ({ *get_cpu_mask(cpu); })
>
> Why use a statement expression here? Isn't (*get_cpu_mask(cpu))
> sufficient?
Yeah, it's sufficient - no strong reasons - it felt a slightly bit more
correct to isolate the read-only data structure. Not that it makes any
real difference in practice - it's still possible to take the address of
get_cpu_mask() and abuse that - gcc will only issue a warning.
But gcc 3.4.5 apparently craps out on this valid use of a gcc extension,
see the report and the fix at:
http://lkml.org/lkml/2008/7/29/154
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