Re: [Lhms-devel] Re: [RFC] free_area[] bitmap elimination [0/3]

William Lee Irwin III
2004-08-21T05:21:16Z

On Sat, Aug 21, 2004 at 01:56:24PM +0900, Hirokazu Takahashi wrote:
> I also impressed by your patch.
> In my understanding, the patch assumes that size of mem_map[] in each
> zone must be multiple of 2^MAX_ORDER, right?
> But it doesn't seem it's a big problem, as we can just allocate extra
> mem_map[] to round up if it isn't.

In __free_pages_bulk() changing BUG_ON(bad_range(zone, buddy1)) to
if (bad_range(zone, buddy1)) break; should fix this. The start of
the zone must be aligned to MAX_ORDER so buddy2 doesn't need checks.
It may be worthwhile to make a distinction the bounds checks and the
zone check and to BUG_ON() the zone check in isolation and not repeat
the bounds check for the validity check.

-- wli