From: Yinghai Lu on
On 03/09/2010 04:01 PM, Johannes Weiner wrote:
> On Tue, Mar 09, 2010 at 01:49:02PM -0800, Andrew Morton wrote:
>> On Tue, 09 Mar 2010 13:09:55 -0800
>> Yinghai Lu <yinghai(a)> wrote:
>>> On 03/09/2010 11:40 AM, akpm(a) wrote:
>>>> The patch titled
>>>> bootmem: avoid DMA32 zone by default
>>>> has been removed from the -mm tree. Its filename was
>>>> bootmem-avoid-dma32-zone-by-default.patch
>>>> This patch was dropped because I'm all confused
>>> Thanks for that...
>> Well. I did drop it because I'm all confused. It may come back.
>> If Johannes is working in the direction of removing and simplifying
>> code then that's a high priority. So I'm waiting to see where this
>> discussion leads (on the mailing list, please!)
> I am not working on simplifying in this area at the moment. I am just
> questioning the discrepancy between the motivation of Yinghai's patch
> series to skip bootmem on x86 and its actual outcome.
> The stated reason for the series was that the amount of memory allocators
> involved in bootstrapping mm on x86 'seemed a bit excessive'. [1]
> I am perfectly fine with the theory: select one mechanism and see whether
> it can be bridged and consequently _removed_. To shrink the code base,
> shrink text size, make the boot process less complex, more robust etc.
> What I take away from this patchset, however, is that all it really does
> is make the early_res stuff from x86 generic code and add a semantically
> different version of the bootmem API on top of it, selectable with a config
> option. The diffstat balance is an increase of around 900 lines of code.
> Note that it still uses bootmem to actually bootstrap the page allocator,
> that we now have two implementations of the bootmem interface and no real
> plan - as far as I am informed - to actually change this.
> I also found it weird that it makes x86 skip an allocator level that all
> the other architectures are using, and replaces it with 'generic' code that
> nobody but x86 is using (sparc, powerpc, sh and microblaze appear to have
> lib/lmb.c at this stage and for this purpose? lmb was also suggested by
> benh [4] but I have to admit I do not understand Yinghai's response to it).

next steps:
1. create kernel/fw_memmap.c, and move common code from arch/x86/kernel/e820.c to it
2. merge lmb with fw_memmap.c/early_res.c
so some arch that use lmb will fw_memmap/earl_res.c


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)
More majordomo info at
Please read the FAQ at