Messages in this thread | | | Date | Mon, 12 Apr 2010 21:29:11 -0700 | From | Yinghai <> | Subject | Re: [PATCH 07/39] lmb: Add lmb_find_area() |
| |
On 04/12/2010 09:05 PM, Benjamin Herrenschmidt wrote: > On Thu, 2010-04-08 at 23:03 -0700, Yinghai Lu wrote: >> It will try find area according with size/align in specified range (start, end). >> >> lmb_find_area() will honor goal/limit. >> >> also make it more easy for x86 to use lmb. >> x86 early_res is using find/reserve pattern instead of alloc. >> >> When we need temporaray buff for range array etc for range work, if We are using >> lmb_alloc(), We will need to add some post fix code for buffer that is used >> by range array, because it is in the lmb.reserved already. and have to call >> extra lmb_free(). >> >> -v2: Change name to lmb_find_area() according to Michael Ellerman >> -v3: Add generic weak version __lmb_find_area() > > Haven't you noticed there's already way too many functions walking the > LMBs ? :-)
x86 is using original lmb_reserve, lmb_free(), but have own version lmb_find_area(), and it will be dropped after more testing of generic version of lmb_find_area()
> > I think the ones doing nid alloc could/should be also rewritten to use > one single low level __lmb_find_* no ?
that nid_alloc() only has one user (sparc64).
maybe could be replaced by lmd_find_area_node(), but need to make sure early_node_map[] is filled at first.
Thanks
Yinghai
| |