From: Ingo Molnar <mingo@elte.hu>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: David Howells <dhowells@redhat.com>,
tj@kernel.org, akpm@linux-foundation.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] FRV: Fix the section attribute on UP DECLARE_PER_CPU()
Date: Wed, 15 Apr 2009 18:49:29 +0200 [thread overview]
Message-ID: <20090415164929.GA10345@elte.hu> (raw)
In-Reply-To: <alpine.LFD.2.00.0904150808550.4132@localhost.localdomain>
* Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Wed, 15 Apr 2009, David Howells wrote:
> > Linus Torvalds <torvalds@linux-foundation.org> wrote:
> >
> > > Hmm. Why not move it all above the '#include <asm/percpu.h>'?
> >
> > There are circular dependencies between the x86 arch headers that both use
> > this and are used to implement this, and it's a bit fragile.
>
> Grr. Indeed it seems to be. Nasty. Header files seem to want that
> DECLARE_PER_CPU() thing without all the other baggage that is
> implied by including all of <linux/percpu.h>, so they just include
> <asm/percpu.h> directly instead.
>
> What a mess.
>
> So maybe we could move DEFINE_PER_CPU in there too? It's less than
> perfect, but at least we'd have things together rather than split
> in really odd ways.
I think splitting the type related defines away into percpu_types.h,
and updating the lowlevel headers to include linux/percpu_types.h
[which would include asm/percpu.h] would do the trick.
Even the exising percpu.h could be made lighter:
slab.h: is needed for the kzalloc in the !SMP wrapper case. That
could be eliminated by uninlining the UP wrappers.
preempt.h: is needed for preempt_disable/enable() in the
get_cpu_var()/put_cpu_var() methods.
smp.h: not sure what it's needed for - nothing obvious at first
sight.
Most of them could be eliminated.
Ingo
next prev parent reply other threads:[~2009-04-15 16:51 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-14 16:10 [PATCH] FRV: Fix the section attribute on UP DECLARE_PER_CPU() David Howells
2009-04-14 16:57 ` Linus Torvalds
2009-04-14 17:57 ` David Howells
2009-04-14 18:06 ` Linus Torvalds
2009-04-15 10:24 ` David Howells
2009-04-15 15:19 ` Linus Torvalds
2009-04-15 16:49 ` Ingo Molnar [this message]
2009-04-15 11:40 ` David Howells
2009-04-15 12:03 ` Ingo Molnar
2009-04-15 13:20 ` David Howells
2009-04-15 14:09 ` Ingo Molnar
2009-04-15 15:09 ` David Howells
2009-04-15 16:54 ` Ingo Molnar
2009-04-21 18:36 ` David Howells
2009-04-22 9:12 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090415164929.GA10345@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@linux-foundation.org \
--cc=dhowells@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tj@kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.