Messages in this thread | | | Date | Fri, 13 Nov 2009 13:11:04 -0800 | From | Chris Wright <> | Subject | Re: [PATCH 07/10] bootmem: add free_bootmem_late |
| |
* Pekka Enberg (penberg@cs.helsinki.fi) wrote: > On Mon, Nov 9, 2009 at 10:13 PM, Pekka Enberg <penberg@cs.helsinki.fi> wrote: > >> for (cursor = start; cursor < end; cursor += BITS_PER_LONG) { > >> - unsigned long idx, vec; > >> + unsigned long vec; > >> > >> - idx = cursor - start; > >> - vec = ~map[idx / BITS_PER_LONG]; > >> + if (map) { > >> + unsigned long idx = cursor - start; > >> + vec = ~map[idx / BITS_PER_LONG]; > >> + } else { > >> + if (end - cursor >= BITS_PER_LONG) > >> + vec = ~0UL; > > > > Why do we need the above? > > OK, I figured that out. I'm not sure why you want to play tricks with > "vec" when you could just add a new helper that calls > __free_pages_bootmem() for the full contiguous page range.
I did it this way since it's simple enough and allows for high-order frees (these will nearly all be high-order) and keeps the same core code exercised in each path. You can't do a higher order free w/ __free_pages_bootmem() w/out conforming to its requirements. I don't care either way.
thanks, -chris -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |