Prev: x86,lmb: Add lmb_reserve_range/lmb_free_range
Next: x86: Have nobootmem version setup_bootmem_allocator()
From: Bjorn Helgaas on 29 Jun 2010 14:00 On Tuesday, June 22, 2010 11:26:47 am Yinghai Lu wrote: > Also let lmb_reserve_range/lmb_free_range could print out name if lmb=debug is > specified > > will also print ther name when reserve_lmb_area/free_lmb_area are called. > > Signed-off-by: Yinghai Lu <yinghai(a)kernel.org> > --- > arch/x86/mm/lmb.c | 24 ++++++++++++++++++------ > 1 files changed, 18 insertions(+), 6 deletions(-) > > diff --git a/arch/x86/mm/lmb.c b/arch/x86/mm/lmb.c > index bd2f60b..209f25b 100644 > --- a/arch/x86/mm/lmb.c > +++ b/arch/x86/mm/lmb.c > @@ -122,10 +122,12 @@ static void __init subtract_lmb_reserved(struct range *range, int az) > > count = lmb.reserved.cnt; > > - pr_info("Subtract (%d early reservations)\n", count); > + if (lmb_debug) > + pr_info("Subtract (%d early reservations)\n", count); > > for_each_lmb(reserved, r) { > - pr_info(" [%010llx - %010llx]\n", (u64)r->base, (u64)r->base + r->size); Use %pR format (looks like this is rework on top of a previous patch, so this comment is probably redundant). > + if (lmb_debug) > + pr_info(" [%010llx - %010llx]\n", (u64)r->base, (u64)r->base + r->size); > final_start = PFN_DOWN(r->base); > final_end = PFN_UP(r->base + r->size); > if (final_start >= final_end) > @@ -198,16 +200,20 @@ void __init lmb_to_bootmem(u64 start, u64 end) > lmb_free(__pa(lmb.reserved.regions), sizeof(struct lmb_region) * lmb.reserved.max); > > count = lmb.reserved.cnt; > - pr_info("(%d early reservations) ==> bootmem [%010llx - %010llx]\n", count, start, end); > + if (lmb_debug) > + pr_info("(%d early reservations) ==> bootmem [%010llx - %010llx]\n", count, start, end); > for_each_lmb(reserved, r) { > - pr_info(" [%010llx - %010llx] ", (u64)r->base, (u64)r->base + r->size); > + if (lmb_debug) > + pr_info(" [%010llx - %010llx] ", (u64)r->base, (u64)r->base + r->size); > final_start = max(start, r->base); > final_end = min(end, r->base + r->size); > if (final_start >= final_end) { > - pr_cont("\n"); > + if (lmb_debug) > + pr_cont("\n"); > continue; > } > - pr_cont(" ==> [%010llx - %010llx]\n", final_start, final_end); > + if (lmb_debug) > + pr_cont(" ==> [%010llx - %010llx]\n", final_start, final_end); > reserve_bootmem_generic(final_start, final_end - final_start, BOOTMEM_DEFAULT); > } > > @@ -289,6 +295,9 @@ void __init lmb_reserve_range(u64 start, u64 end, char *name) > if (WARN_ONCE(start > end, "lmb_reserve_range: wrong range [%#llx, %#llx]\n", start, end)) > return; > > + if (lmb_debug) > + pr_info(" lmb_reserve_range: [%010llx, %010llx] %16s\n", start, end, name); > + > lmb_reserve(start, end - start); > } > > @@ -300,6 +309,9 @@ void __init lmb_free_range(u64 start, u64 end) > if (WARN_ONCE(start > end, "lmb_free_range: wrong range [%#llx, %#llx]\n", start, end)) > return; > > + if (lmb_debug) > + pr_info(" lmb_free_range: [%010llx, %010llx]\n", start, end); > + > lmb_free(start, end - start); > } > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |