From: Yinghai Lu <yinghai@kernel.org>
To: Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
Andrew Morton <akpm@linux-foundation.org>,
David Miller <davem@davemloft.net>li
Subject: Re: [PATCH 5/6] early_res: seperate common memmap func from e820.c to fw_memmap.c
Date: Wed, 10 Mar 2010 14:05:42 -0800 [thread overview]
Message-ID: <4B9817B6.6070400@kernel.org> (raw)
In-Reply-To: <20100310215018.GD24353@flint.arm.linux.org.uk>
On 03/10/2010 01:50 PM, Russell King wrote:
> On Wed, Mar 10, 2010 at 01:24:26PM -0800, Yinghai Lu wrote:
>> +/* How much should we pad RAM ending depending on where it is? */
>> +static unsigned long __init ram_alignment(resource_size_t pos)
>> +{
>> + unsigned long mb = pos >> 20;
>> +
>> + /* To 64kB in the first megabyte */
>> + if (!mb)
>> + return 64*1024;
>> +
>> + /* To 1MB in the first 16MB */
>> + if (mb < 16)
>> + return 1024*1024;
>> +
>> + /* To 64MB for anything above that */
>> + return 64*1024*1024;
>> +}
>
> This doesn't make sense for generic code.
>
> 1. All architectures do not have RAM starting at physical address 0.
> 2. What about architectures which have relatively little memory (maybe
> 16MB total) split into four chunks of 4MB spaced at 512MB ?
>
> Other comments:
>
> 1. It doesn't support mem=size@base, which is used extensively on ARM.
current x86, need to use exactmap...
so could add sth in arch/arm/setup.c to set it.
> 2. How does memory get allocated for creating things like page tables?
find_fw_memmap_area
rerserve_early
>
> Currently, bootmem supports ARM very well with support for flatmem,
> sparsemem and discontigmem models (the latter being deprecated). Can
> this code support all three models?
should be ok.
>
> Where are patches 1 to 4?
my bad, it still have 1/4, 2/4, 3/4, 4/4
>
> Lastly, why exactly is bootmem being eliminated? Bootmem offers more
> flexible functionality than this e820 code appears at first read-through
> seems to.
less layer before slab...
fw_memmap.c could be simplified by keeping more stuff in arch/x86/kernel/e820.c
will have one fw_mem_internal.h and only be included by fw_memmap.c and arch fw_memmap.c.
YH
WARNING: multiple messages have this Message-ID (diff)
From: Yinghai Lu <yinghai@kernel.org>
To: Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
Andrew Morton <akpm@linux-foundation.org>,
David Miller <davem@davemloft.net>,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Subject: Re: [PATCH 5/6] early_res: seperate common memmap func from e820.c to fw_memmap.c
Date: Wed, 10 Mar 2010 14:05:42 -0800 [thread overview]
Message-ID: <4B9817B6.6070400@kernel.org> (raw)
Message-ID: <20100310220542.keSM6Dt1aqmmnP91oBJ5Fe4RvbW7m3QkISI0WhtPX8U@z> (raw)
In-Reply-To: <20100310215018.GD24353@flint.arm.linux.org.uk>
On 03/10/2010 01:50 PM, Russell King wrote:
> On Wed, Mar 10, 2010 at 01:24:26PM -0800, Yinghai Lu wrote:
>> +/* How much should we pad RAM ending depending on where it is? */
>> +static unsigned long __init ram_alignment(resource_size_t pos)
>> +{
>> + unsigned long mb = pos >> 20;
>> +
>> + /* To 64kB in the first megabyte */
>> + if (!mb)
>> + return 64*1024;
>> +
>> + /* To 1MB in the first 16MB */
>> + if (mb < 16)
>> + return 1024*1024;
>> +
>> + /* To 64MB for anything above that */
>> + return 64*1024*1024;
>> +}
>
> This doesn't make sense for generic code.
>
> 1. All architectures do not have RAM starting at physical address 0.
> 2. What about architectures which have relatively little memory (maybe
> 16MB total) split into four chunks of 4MB spaced at 512MB ?
>
> Other comments:
>
> 1. It doesn't support mem=size@base, which is used extensively on ARM.
current x86, need to use exactmap...
so could add sth in arch/arm/setup.c to set it.
> 2. How does memory get allocated for creating things like page tables?
find_fw_memmap_area
rerserve_early
>
> Currently, bootmem supports ARM very well with support for flatmem,
> sparsemem and discontigmem models (the latter being deprecated). Can
> this code support all three models?
should be ok.
>
> Where are patches 1 to 4?
my bad, it still have 1/4, 2/4, 3/4, 4/4
>
> Lastly, why exactly is bootmem being eliminated? Bootmem offers more
> flexible functionality than this e820 code appears at first read-through
> seems to.
less layer before slab...
fw_memmap.c could be simplified by keeping more stuff in arch/x86/kernel/e820.c
will have one fw_mem_internal.h and only be included by fw_memmap.c and arch fw_memmap.c.
YH
next prev parent reply other threads:[~2010-03-10 22:07 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-10 21:24 [PATCH -v2 0/6] early_res: fw_memmap.c Yinghai Lu
2010-03-10 21:24 ` [PATCH 1/4] x86: add get_centaur_ram_top Yinghai Lu
2010-03-10 21:24 ` [PATCH 2/4] x86: make e820 to be static Yinghai Lu
2010-03-10 21:24 ` [PATCH 3/4] x86: use wake_system_ram_range instead of e820_any_mapped in agp path Yinghai Lu
2010-03-10 21:24 ` [PATCH 4/4] x86: make e820 to be initdata Yinghai Lu
2010-03-10 21:24 ` [PATCH 5/6] early_res: seperate common memmap func from e820.c to fw_memmap.c Yinghai Lu
2010-03-10 21:50 ` Russell King
2010-03-10 21:55 ` David Miller
2010-03-10 22:05 ` Yinghai Lu [this message]
2010-03-10 22:05 ` Yinghai Lu
2010-03-10 23:46 ` Paul Mackerras
2010-03-10 23:59 ` Yinghai Lu
2010-03-10 21:24 ` [RFC PATCH 6/6] sparc64: use early_res and nobootmem Yinghai Lu
2010-03-10 21:30 ` David Miller
2010-03-10 21:33 ` David Miller
2010-03-10 21:34 ` Yinghai Lu
2010-03-10 21:36 ` David Miller
2010-03-10 22:10 ` Yinghai Lu
2010-03-10 22:17 ` David Miller
2010-03-10 22:31 ` Yinghai Lu
2010-03-10 22:36 ` David Miller
2010-03-10 23:01 ` Yinghai Lu
2010-03-10 23:47 ` Benjamin Herrenschmidt
2010-03-11 0:02 ` Yinghai Lu
2010-03-11 3:59 ` Paul Mundt
2010-03-10 22:04 ` David Miller
2010-03-10 22:20 ` Yinghai Lu
2010-03-10 22:49 ` David Miller
2010-03-10 23:05 ` Yinghai Lu
2010-03-10 23:44 ` 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=4B9817B6.6070400@kernel.org \
--to=yinghai@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=hpa@zytor.com \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/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.