Messages in this thread | | | Date | Fri, 7 Nov 2008 08:29:26 -0800 | From | Andrew Morton <> | Subject | Re: [RFC patch 08/18] cnt32_to_63 should use smp_rmb() |
| |
On Fri, 07 Nov 2008 16:21:55 +0000 David Howells <dhowells@redhat.com> wrote:
> Andrew Morton <akpm@linux-foundation.org> wrote: > > > If gcc did that then it would need to generate static instances of > > inlined functions within individual compilation units. It would be a > > disaster for the kernel. For a start, functions which are "inlined" in kernel > > modules wouldn't be able to access their static storage and modprobing > > them would fail. > > Do you expect a static inline function that lives in a header file and that > has a static variable in it to share that static variable over all instances > of that function in a program? Or do you expect the static variable to be > limited at the file level? Or just at the invocation level?
I'd expect it to behave in the same way as it would if the function was implemented out-of-line.
But it occurs to me that the modrobe-doesnt-work thing would happen if the function _is_ inlined anyway, so we won't be doing that.
Whatever. Killing this many puppies because gcc may do something so bizarrely wrong isn't justifiable.
| |