On Tue, Aug 20, 2013 at 8:11 PM, Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx> wrote: > Hi Yinghai, > On Tue, Aug 20, 2013 at 05:02:17PM -0700, Yinghai Lu wrote: >>>> - /* ok, last chunk */ >>>> - sparse_early_usemaps_alloc_node(usemap_map, pnum_begin, NR_MEM_SECTIONS, >>>> - usemap_count, nodeid_begin); >>>> + alloc_usemap_and_memmap(usemap_map, true); >> >>alloc_usemap_and_memmap() is somehow confusing. >> >>Please check if you can pass function pointer instead of true/false. >> > > sparse_early_usemaps_alloc_node and sparse_early_mem_maps_alloc_node is > similar, however, one has a parameter unsigned long ** and the other has > struct page **. function pointer can't help, isn't it? ;-) you could have one generic function pointer like void *alloc_func(void *data); and in the every alloc function, have own struct data to pass in/out... Yinghai -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>