Re: [PATCH 08/39] lmb: Add lmb_reserve_area/lmb_free_area

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Benjamin Herrenschmidt
Date: Monday, April 12, 2010 - 9:15 pm

On Thu, 2010-04-08 at 23:03 -0700, Yinghai Lu wrote:

So a few things here:

default_alloc_limit: This should be a patch of its own I believe, we
should provide a way for callers to also honor the limit, I'm sure
without that we're going to hit funny problems -especially- if we start
replacing bootmem. (Heh, low/high mem anyone ?)

I would think that the basic lmb_alloc() should be modified to use the
current limit, and maybe add an lmb_alloc_anywhere() as an inline
wrapper to lmb_alloc_base(..., LMB_ALLOC_ANYWHERE); In fact, lmb_alloc()
should become an inline wrapper too.

Also, the way you added the calls to __check_and_double_region_array()
is fishy (what a function name btw !). IE. You added it in 2 or 3
places, missing a whole bunch, which will guarantee some kind of
unexpected behaviour especially when using the _nid variants.

Now, maybe the idea of moving things to -after- the call wasn't that
good. I still don't quite get why we can't do things lazily, especially
if we remove some of the code duplication in there. 

In any case, its about time to clarify what is API and what is internal
in LMB and clean up the entry path.

Cheers,
Ben.



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

Messages in current thread:
[PATCH -v12 00/39] use lmb with x86, Yinghai Lu, (Thu Apr 8, 11:03 pm)
[PATCH 02/39] x86: Add sanitize_e820_map(), Yinghai Lu, (Thu Apr 8, 11:03 pm)
[PATCH 03/39] x86: Align e820 ram range to page, Yinghai Lu, (Thu Apr 8, 11:03 pm)
[PATCH 04/39] lmb: Move lmb.c to mm/, Yinghai Lu, (Thu Apr 8, 11:03 pm)
[PATCH 07/39] lmb: Add lmb_find_area(), Yinghai Lu, (Thu Apr 8, 11:03 pm)
[PATCH 10/39] lmb: Add lmb_to_bootmem(), Yinghai Lu, (Thu Apr 8, 11:03 pm)
[PATCH 11/39] lmb: Add get_free_all_memory_range(), Yinghai Lu, (Thu Apr 8, 11:03 pm)
[PATCH 14/39] lmb: Add find_memory_core_early(), Yinghai Lu, (Thu Apr 8, 11:03 pm)
[PATCH 22/39] x86, lmb: Add lmb_find_area_size(), Yinghai Lu, (Thu Apr 8, 11:03 pm)
[PATCH 24/39] x86: Use lmb to replace early_res, Yinghai Lu, (Thu Apr 8, 11:03 pm)
[PATCH 27/39] x86, lmb: turn off ARCH_LMB_FIND_AREA, Yinghai Lu, (Thu Apr 8, 11:03 pm)
[PATCH 28/39] x86: Remove not used early_res code, Yinghai Lu, (Thu Apr 8, 11:03 pm)
[PATCH 32/39] x86: Add get_centaur_ram_top(), Yinghai Lu, (Thu Apr 8, 11:04 pm)
[PATCH 35/39] x86: make e820 to be __initdata, Yinghai Lu, (Thu Apr 8, 11:04 pm)
Re: [PATCH -v12 00/39] use lmb with x86, Benjamin Herrenschmidt, (Mon Apr 12, 8:41 pm)
Re: [PATCH 04/39] lmb: Move lmb.c to mm/, Benjamin Herrenschmidt, (Mon Apr 12, 8:52 pm)
Re: [PATCH 05/39] lmb: Seperate region array from lmb_regi ..., Benjamin Herrenschmidt, (Mon Apr 12, 8:56 pm)
Re: [PATCH 07/39] lmb: Add lmb_find_area(), Benjamin Herrenschmidt, (Mon Apr 12, 9:05 pm)
Re: [PATCH 08/39] lmb: Add lmb_reserve_area/lmb_free_area, Benjamin Herrenschmidt, (Mon Apr 12, 9:15 pm)
Re: [PATCH 26/39] nobootmem: use lmb.default_alloc_limit i ..., Benjamin Herrenschmidt, (Mon Apr 12, 9:23 pm)
Re: [PATCH 07/39] lmb: Add lmb_find_area(), Yinghai, (Mon Apr 12, 9:29 pm)
Re: [PATCH 07/39] lmb: Add lmb_find_area(), Benjamin Herrenschmidt, (Mon Apr 12, 10:07 pm)
Re: [PATCH 26/39] nobootmem: use lmb.default_alloc_limit i ..., Benjamin Herrenschmidt, (Mon Apr 12, 10:13 pm)
Re: [PATCH 07/39] lmb: Add lmb_find_area(), Yinghai, (Mon Apr 12, 10:26 pm)
Re: [PATCH 07/39] lmb: Add lmb_find_area(), H. Peter Anvin, (Mon Apr 12, 10:46 pm)
Re: [PATCH 07/39] lmb: Add lmb_find_area(), Benjamin Herrenschmidt, (Tue Apr 13, 3:15 am)