From: Arnd Bergmann <arnd@arndb.de>
To: Andrew Morton <akpm@osdl.org>
Cc: Christian Krafft <krafft@de.ibm.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 1/2] fix call to alloc_bootmem after bootmem has been freed
Date: Wed, 22 Nov 2006 10:23:40 +0100 [thread overview]
Message-ID: <200611221023.41807.arnd@arndb.de> (raw)
In-Reply-To: <20061121102616.47d03ccc.akpm@osdl.org>
On Tuesday 21 November 2006 19:26, Andrew Morton wrote:
> slab is a very different thing from vmalloc. One could easily envisage
> situations (now or in the future) in which slab is ready, but vmalloc is
> not (more likely vice versa).
>
> It'd be better to add a new vmalloc_is_available. (Just an int - no need
> for a helper function).
In the time line, we currently have
start_kernel()
...
setup_arch()
init_bootmem() # alloc_bootmem starts working
...
paging_init() # needed for vmalloc
... #
mem_init()
free_all_bootmem() # alloc_bootmem stops working, alloc_pages
# starts working
kmem_cache_init() # kmalloc and vmalloc start working
...
system_state = SYSTEM_RUNNING
The one interesting point here is where you have to transition between
calling alloc_bootmem and calling the regular allocator functions.
Maybe calling it slab_is_available() was not the best choice for a name,
but I don't see a point in having different names for essentially the
same question, "bootmem or not bootmem". The powerpc platform has an
integer variable called 'mem_init_done', which expresses this well
IMHO, but it's currently not portable.
Checking for SYSTEM_RUNNING is obviously the wrong choice, since it is
set at a very late point in bootup, long after bootmem is gone.
Arnd <><
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Andrew Morton <akpm@osdl.org>
Cc: Christian Krafft <krafft@de.ibm.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 1/2] fix call to alloc_bootmem after bootmem has been freed
Date: Wed, 22 Nov 2006 10:23:40 +0100 [thread overview]
Message-ID: <200611221023.41807.arnd@arndb.de> (raw)
In-Reply-To: <20061121102616.47d03ccc.akpm@osdl.org>
On Tuesday 21 November 2006 19:26, Andrew Morton wrote:
> slab is a very different thing from vmalloc. One could easily envisage
> situations (now or in the future) in which slab is ready, but vmalloc is
> not (more likely vice versa).
>
> It'd be better to add a new vmalloc_is_available. (Just an int - no need
> for a helper function).
In the time line, we currently have
start_kernel()
...
setup_arch()
init_bootmem() # alloc_bootmem starts working
...
paging_init() # needed for vmalloc
... #
mem_init()
free_all_bootmem() # alloc_bootmem stops working, alloc_pages
# starts working
kmem_cache_init() # kmalloc and vmalloc start working
...
system_state = SYSTEM_RUNNING
The one interesting point here is where you have to transition between
calling alloc_bootmem and calling the regular allocator functions.
Maybe calling it slab_is_available() was not the best choice for a name,
but I don't see a point in having different names for essentially the
same question, "bootmem or not bootmem". The powerpc platform has an
integer variable called 'mem_init_done', which expresses this well
IMHO, but it's currently not portable.
Checking for SYSTEM_RUNNING is obviously the wrong choice, since it is
set at a very late point in bootup, long after bootmem is gone.
Arnd <><
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2006-11-22 9:23 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-15 18:30 [patch 0/2] fix bugs while booting on NUMA system where some nodes have no mem Christian Krafft
2006-11-15 18:30 ` Christian Krafft
2006-11-15 18:32 ` [patch 1/2] fix call to alloc_bootmem after bootmem has been freed Christian Krafft
2006-11-15 18:32 ` Christian Krafft
2006-11-21 16:55 ` Andrew Morton
2006-11-21 16:55 ` Andrew Morton
2006-11-21 18:02 ` Christian Krafft
2006-11-21 18:26 ` Andrew Morton
2006-11-21 18:26 ` Andrew Morton
2006-11-22 9:23 ` Arnd Bergmann [this message]
2006-11-22 9:23 ` Arnd Bergmann
2006-11-15 18:34 ` [patch 2/2] enables booting a NUMA system where some nodes have no memory Christian Krafft
2006-11-15 18:34 ` Christian Krafft
2006-11-15 21:24 ` Christoph Lameter
2006-11-15 21:24 ` Christoph Lameter
2006-11-15 21:58 ` Jack Steiner
2006-11-15 21:58 ` Jack Steiner
2006-11-15 22:40 ` Christoph Lameter
2006-11-15 22:40 ` Christoph Lameter
2006-11-15 22:43 ` Martin Bligh
2006-11-15 22:43 ` Martin Bligh
2006-11-15 22:52 ` Christoph Lameter
2006-11-15 22:52 ` Christoph Lameter
2006-11-16 0:54 ` KAMEZAWA Hiroyuki
2006-11-16 0:54 ` KAMEZAWA Hiroyuki
2006-11-16 0:57 ` Christoph Lameter
2006-11-16 0:57 ` Christoph Lameter
2006-11-16 1:17 ` KAMEZAWA Hiroyuki
2006-11-16 1:17 ` KAMEZAWA Hiroyuki
2006-11-16 15:40 ` Christian Krafft
2006-11-16 15:49 ` Martin J. Bligh
2006-11-16 15:49 ` Martin J. Bligh
2006-11-16 18:46 ` Christoph Lameter
2006-11-16 18:46 ` Christoph Lameter
2006-11-16 2:01 ` Martin Bligh
2006-11-16 2:01 ` Martin Bligh
2006-11-16 1:35 ` Jack Steiner
2006-11-16 1:35 ` Jack Steiner
2006-11-16 1:57 ` Christoph Lameter
2006-11-16 1:57 ` Christoph Lameter
2006-11-16 2:09 ` Martin Bligh
2006-11-16 2:09 ` Martin Bligh
2006-11-16 2:35 ` Christoph Lameter
2006-11-16 2:35 ` Christoph Lameter
2006-11-16 3:28 ` Jack Steiner
2006-11-16 3:28 ` Jack Steiner
2006-11-15 22:05 ` Martin Bligh
2006-11-15 22:05 ` Martin Bligh
2006-11-15 22:41 ` Christoph Lameter
2006-11-15 22:41 ` Christoph Lameter
2006-11-15 22:46 ` Martin Bligh
2006-11-15 22:46 ` Martin Bligh
2006-11-15 22:51 ` Christoph Lameter
2006-11-15 22:51 ` Christoph Lameter
2006-11-16 0:59 ` KAMEZAWA Hiroyuki
2006-11-16 0:59 ` KAMEZAWA Hiroyuki
2006-11-16 1:22 ` Yasunori Goto
2006-11-16 1:22 ` Yasunori Goto
2006-11-16 0:26 ` Arnd Bergmann
2006-11-16 0:26 ` Arnd Bergmann
2006-11-16 0:45 ` Christoph Lameter
2006-11-16 0:45 ` Christoph Lameter
2006-11-16 13:08 ` Arnd Bergmann
2006-11-16 13:08 ` Arnd Bergmann
2006-11-16 0:44 ` Jesper Juhl
2006-11-16 0:44 ` Jesper Juhl
2006-11-16 0:46 ` Christoph Lameter
2006-11-16 0:46 ` Christoph Lameter
2006-11-16 15:21 ` Lee Schermerhorn
2006-11-16 15:21 ` Lee Schermerhorn
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=200611221023.41807.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=akpm@osdl.org \
--cc=krafft@de.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.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.