[<prev] [next>] [day] [month] [year] [list]
Message-Id: <4BACEF490200007800037346@vpn.id2.novell.com>
Date: Fri, 26 Mar 2010 16:30:49 +0000
From: "Jan Beulich" <JBeulich@...ell.com>
To: <yinghai@...nel.org>, <hpa@...or.com>
Cc: <linux-kernel@...r.kernel.org>
Subject: [PATCH] relax free_area() for compatibility with
free_bootmem()
To be compatible with the traditional free_bootmem() (which is just a
wrapper around free_earl() under CONFIG_NO_BOOTMEM), free_area()
should allow freeing not only exact ranges, but also proper subsets.
This is still different from free_early_partial() in that the latter
also handles an input range spanning multiple reserved ranges,
possibly even with holes between them (not that I think permitting
this is a good idea).
Signed-off-by: Jan Beulich <jbeulich@...ell.com>
---
kernel/early_res.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- linux-2.6.34-rc2/kernel/early_res.c 2010-03-25 15:23:45.000000000 +0100
+++ 2.6.34-rc2-free_early-subrange/kernel/early_res.c 2010-03-26 14:49:41.000000000 +0100
@@ -321,11 +321,11 @@ void __init free_early(u64 start, u64 en
i = find_overlapped_early(start, end);
r = &early_res[i];
- if (i >= max_early_res || r->end != end || r->start != start)
+ if (i >= max_early_res || r->end < end || r->start > start)
panic("free_early on not reserved area: %llx-%llx!",
start, end - 1);
- drop_range(i);
+ drop_range_partial(i, start, end);
}
void __init free_early_partial(u64 start, u64 end)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists