From: Linus Torvalds <torvalds@linux-foundation.org>
To: Nick Piggin <npiggin@suse.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Pekka Enberg <penberg@cs.helsinki.fi>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
linux-kernel@vger.kernel.org, akpm@linux-foundation.org,
cl@linux-foundation.org, kamezawa.hiroyu@jp.fujitsu.com,
lizf@cn.fujitsu.com, mingo@elte.hu, yinghai@kernel.org
Subject: Re: [GIT PULL v2] Early SLAB fixes for 2.6.31
Date: Tue, 16 Jun 2009 11:45:24 -0700 (PDT) [thread overview]
Message-ID: <alpine.LFD.2.01.0906161141290.3282@localhost.localdomain> (raw)
In-Reply-To: <20090616044601.GB28596@wotan.suse.de>
On Tue, 16 Jun 2009, Nick Piggin wrote:
> On Tue, Jun 16, 2009 at 07:31:38AM +1000, Benjamin Herrenschmidt wrote:
> > On Mon, 2009-06-15 at 13:23 +0200, Nick Piggin wrote:
> > > > I think the main problem isn't necessarily init code per se, but the
> > > > pile of -common- code that can be called both at init time and
> > > later.
> > >
> > > Just seems bogus argument. Everwhere else that does this (ie.
> > > allocations that are called from multiple allocation contexts)
> > > passes correct gfp flags down.
> >
> > So you say we should create new variants of all these APIs that take gfp
> > flags as arguments just because they might be called early during boot :
>
> No, just create the ones that actually are called in early boot.
No.
Nick, I don't think you've follow the problems.
The thing is, we do end up wanting to do a lot of allocations, and it's
not even very "early" - we've already initialized all the allocators. It's
just that WE HAVE NOT ENABLED INTERRUPTS YET!
So the "hack" is to let everybody act as if everything is normal. Which it
pretty much is. Just use kmalloc/kfree etc, and use _all_ the regular
functions. Setting up the core layers so that we _can_ enable interrupts
involves quite a lot of random crud, they should be able to use regular
code.
And the hack is there because we really are in a magic stage. The memory
management works, but it just can't do certain things yet. It's not the
callers that need to be changed, because the callers are usually regular
routines that work perfectly normally long after boot, and having to add a
magic "I'm now doign this during early boot" argument to the whole stack
is just _stupid_, when the stack itself doesn't actually care - only the
allocators do.
Linus
next prev parent reply other threads:[~2009-06-16 18:47 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-12 13:25 [GIT PULL] " Pekka J Enberg
2009-06-12 13:38 ` Benjamin Herrenschmidt
2009-06-12 13:45 ` Pekka Enberg
2009-06-12 14:30 ` Christoph Lameter
2009-06-12 16:16 ` [GIT PULL v2] " Pekka J Enberg
2009-06-12 17:30 ` Christoph Lameter
2009-06-12 21:46 ` Benjamin Herrenschmidt
2009-06-15 6:46 ` Nick Piggin
2009-06-15 9:10 ` Pekka Enberg
2009-06-15 9:38 ` Nick Piggin
2009-06-15 14:43 ` Christoph Lameter
2009-06-14 7:12 ` Pekka J Enberg
2009-06-15 14:55 ` Christoph Lameter
2009-06-15 14:58 ` Pekka Enberg
2009-06-15 15:05 ` Christoph Lameter
2009-06-15 15:11 ` Pekka Enberg
2009-06-15 15:27 ` Pekka Enberg
2009-06-15 15:51 ` Christoph Lameter
2009-06-15 15:57 ` Pekka Enberg
2009-06-15 16:08 ` Christoph Lameter
2009-06-15 17:15 ` Linus Torvalds
2009-06-15 18:19 ` Pekka Enberg
2009-06-15 15:48 ` Christoph Lameter
2009-06-15 8:18 ` Heiko Carstens
2009-06-15 8:26 ` Nick Piggin
2009-06-15 8:32 ` Pekka Enberg
2009-06-15 8:52 ` Nick Piggin
2009-06-15 9:08 ` Pekka Enberg
2009-06-15 10:20 ` Heiko Carstens
2009-06-15 10:21 ` Pekka Enberg
2009-06-15 10:31 ` Nick Piggin
2009-06-15 10:36 ` Pekka Enberg
2009-06-15 9:10 ` Pekka Enberg
2009-06-15 9:41 ` Nick Piggin
2009-06-15 9:48 ` Pekka Enberg
2009-06-15 9:59 ` Nick Piggin
2009-06-15 9:51 ` Benjamin Herrenschmidt
2009-06-15 9:57 ` Pekka Enberg
2009-06-15 10:27 ` Nick Piggin
2009-06-15 10:45 ` Benjamin Herrenschmidt
2009-06-15 11:23 ` Nick Piggin
2009-06-15 12:38 ` Hugh Dickins
2009-06-15 13:07 ` Pekka Enberg
2009-06-16 4:57 ` Nick Piggin
2009-06-16 5:28 ` Benjamin Herrenschmidt
2009-06-16 5:36 ` Nick Piggin
2009-06-16 15:12 ` Christoph Lameter
2009-06-16 15:59 ` Nick Piggin
2009-06-15 21:31 ` Benjamin Herrenschmidt
2009-06-16 4:46 ` Nick Piggin
2009-06-16 5:18 ` Benjamin Herrenschmidt
2009-06-16 5:29 ` Nick Piggin
2009-06-16 18:45 ` Linus Torvalds [this message]
2009-06-17 7:47 ` Nick Piggin
2009-06-17 16:01 ` Linus Torvalds
2009-06-17 16:17 ` Nick Piggin
2009-06-17 21:39 ` Benjamin Herrenschmidt
2009-06-15 10:12 ` Nick Piggin
2009-06-15 10:39 ` Benjamin Herrenschmidt
2009-06-15 11:22 ` Nick Piggin
2009-06-15 11:28 ` Nick Piggin
2009-06-15 11:38 ` Nick Piggin
2009-06-15 21:37 ` Benjamin Herrenschmidt
2009-06-16 4:42 ` Nick Piggin
2009-06-15 21:32 ` Benjamin Herrenschmidt
2009-06-16 15:08 ` Christoph Lameter
2009-06-16 19:10 ` Linus Torvalds
2009-06-16 19:23 ` Christoph Lameter
2009-06-16 19:33 ` Linus Torvalds
2009-06-16 19:48 ` Christoph Lameter
2009-06-17 5:18 ` Pekka Enberg
2009-06-17 16:45 ` Linus Torvalds
2009-06-18 2:00 ` Benjamin Herrenschmidt
2009-06-18 3:24 ` Benjamin Herrenschmidt
2009-06-18 6:01 ` Pekka Enberg
2009-06-18 8:52 ` Benjamin Herrenschmidt
2009-06-16 21:58 ` Benjamin Herrenschmidt
2009-06-16 22:06 ` Linus Torvalds
2009-06-16 22:51 ` Benjamin Herrenschmidt
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=alpine.LFD.2.01.0906161141290.3282@localhost.localdomain \
--to=torvalds@linux-foundation.org \
--cc=akpm@linux-foundation.org \
--cc=benh@kernel.crashing.org \
--cc=cl@linux-foundation.org \
--cc=heiko.carstens@de.ibm.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizf@cn.fujitsu.com \
--cc=mingo@elte.hu \
--cc=npiggin@suse.de \
--cc=penberg@cs.helsinki.fi \
--cc=yinghai@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®