mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] relax free_area() for compatibility with free_bootmem()
@ 2010-03-26 16:30 Jan Beulich
  0 siblings, 0 replies; only message in thread
From: Jan Beulich @ 2010-03-26 16:30 UTC (permalink / raw)
  To: yinghai, hpa; +Cc: linux-kernel

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@novell.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)




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-03-26 16:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-26 16:30 [PATCH] relax free_area() for compatibility with free_bootmem() Jan Beulich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®