On 04/12/2010 10:07 PM, Benjamin Herrenschmidt wrote: > On Mon, 2010-04-12 at 21:29 -0700, Yinghai wrote: >> >>> 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() > > Do -not- add no APIs that are meant to be dropped. They never are in > practice. What I'm saying here is that the LMB code (including existing > stuff) could use some factoring in this area. current generic lmb_find_area() is allocating from high to low. x86 32bit seems have problem with that. in this patchset, it is fixed, but not sure if i missed sth. so could remove x86 lmb_find_area after more test coverage. > >>> >>> 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. > > How does it work today ? IE. Which ever mechanism is used that works I > don't care but we shouldn't use 2 different ones. x86 is only use find_area_early() with node area scope, David point that could have problem with cross node mem map. YH -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html