Re: [PATCH 07/22] lmb: Add lmb_to_bootmem()

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Benjamin Herrenschmidt
Date: Sunday, May 9, 2010 - 8:13 pm

On Sat, 2010-05-08 at 08:17 -0700, Yinghai Lu wrote:

This is clumsy. Doesn't work with NUMA either. Also,
reserve_bootmem_generic() only exists on x86 afaik.

I also disagree with the clearing of the region, I'd like
to keep the arrays around for debug purposes, especially since
I'm going to expose them in debugfs, but I suppose we can make
that an option. In any case, I don't think it's the right place
to introduce such a "side effect".

In any case, I'm not convinced there's much interrest at this
stage in putting that code in the generic lmb.c, with my patches
this stuff boils down to:

	for_each_lmb(reserved, reg) {
		unsigned long top = reg->base + reg->size - 1;
		if (top < lowmem_end_addr)
			reserve_bootmem(reg->base, reg->size, BOOTMEM_DEFAULT);
		else if (reg->base < lowmem_end_addr) {
			unsigned long trunc_size = lowmem_end_addr - reg->base;
			reserve_bootmem(reg->base, trunc_size, BOOTMEM_DEFAULT);
		}
	}

In the non-numa case, but let's keep that in arch for now. We might be
able to reconcile the NUMA case, I'm looking at that, it's non trivial,
in which case that stuff would become a better candidate for being in
the generic code, but not for now.

Cheers,
Ben.



--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH -v14 00/22] Use lmb with x86, Yinghai Lu, (Sat May 8, 8:17 am)
[PATCH 01/22] lmb: Move lmb.c to mm/, Yinghai Lu, (Sat May 8, 8:17 am)
[PATCH 07/22] lmb: Add lmb_to_bootmem(), Yinghai Lu, (Sat May 8, 8:17 am)
[PATCH 08/22] lmb: Add get_free_all_memory_range(), Yinghai Lu, (Sat May 8, 8:17 am)
[PATCH 11/22] lmb: Add find_memory_core_early(), Yinghai Lu, (Sat May 8, 8:17 am)
[PATCH 12/22] lmb: Add lmb_find_area_node(), Yinghai Lu, (Sat May 8, 8:17 am)
[PATCH 13/22] lmb: Add lmb_free_memory_size(), Yinghai Lu, (Sat May 8, 8:17 am)
[PATCH 14/22] lmb: Add lmb_memory_size(), Yinghai Lu, (Sat May 8, 8:17 am)
[PATCH 19/22] x86, lmb: Add lmb_find_area_size(), Yinghai Lu, (Sat May 8, 8:17 am)
[PATCH 20/22] x86: Use lmb to replace early_res, Yinghai Lu, (Sat May 8, 8:17 am)
[PATCH 22/22] x86: Remove not used early_res code, Yinghai Lu, (Sat May 8, 8:17 am)
Re: [PATCH -v14 00/22] Use lmb with x86, Benjamin Herrenschmidt, (Sun May 9, 7:38 pm)
Re: [PATCH 07/22] lmb: Add lmb_to_bootmem(), Benjamin Herrenschmidt, (Sun May 9, 8:13 pm)
Re: [PATCH 08/22] lmb: Add get_free_all_memory_range(), Benjamin Herrenschmidt, (Sun May 9, 9:04 pm)
Re: [PATCH 07/22] lmb: Add lmb_to_bootmem(), Yinghai, (Sun May 9, 9:31 pm)
Re: [PATCH 17/22] lmb: Add ARCH_DISCARD_LMB to put lmb cod ..., Benjamin Herrenschmidt, (Sun May 9, 11:16 pm)
Re: [PATCH 18/22] lmb: Add __free/__reserve/__clear_lmb_re ..., Benjamin Herrenschmidt, (Sun May 9, 11:18 pm)
Re: [PATCH 12/22] lmb: Add lmb_find_area_node(), Benjamin Herrenschmidt, (Sun May 9, 11:23 pm)
Re: [PATCH 13/22] lmb: Add lmb_free_memory_size(), Benjamin Herrenschmidt, (Sun May 9, 11:24 pm)
Re: [PATCH 14/22] lmb: Add lmb_memory_size(), Benjamin Herrenschmidt, (Sun May 9, 11:25 pm)
Re: [PATCH 15/22] lmb: Add lmb_reserve_area_overlap_ok(), Benjamin Herrenschmidt, (Sun May 9, 11:34 pm)
Re: [PATCH 05/22] lmb: Add lmb_reserve_area/lmb_free_area, Benjamin Herrenschmidt, (Mon May 10, 12:10 am)
Re: [PATCH 08/22] lmb: Add get_free_all_memory_range(), Benjamin Herrenschmidt, (Mon May 10, 12:29 am)
Re: [PATCH 05/22] lmb: Add lmb_reserve_area/lmb_free_area, Benjamin Herrenschmidt, (Mon May 10, 2:53 pm)
Re: [PATCH 07/22] lmb: Add lmb_to_bootmem(), Benjamin Herrenschmidt, (Tue May 11, 5:03 pm)
Re: [PATCH 07/22] lmb: Add lmb_to_bootmem(), yinghai.lu@oracle.com, (Tue May 11, 5:50 pm)