Messages in this thread |  | | | Date | Tue, 13 Jul 2010 13:40:50 -0700 | | From | Yinghai Lu <> | | Subject | Re: [PATCH 45/50] x86, memblock: Use memblock_debug to control debug message print out |
| |
On 07/13/2010 01:37 PM, Bjorn Helgaas wrote: > On Tuesday, July 13, 2010 01:10:39 am Yinghai Lu wrote: >> - pr_cont(" ==> [%010llx-%010llx]\n", final_start, final_end - 1); >> + memblock_dbg(" ==> [%#010llx-%#010llx]\n", final_start, final_end - 1); >> reserve_bootmem_generic(final_start, final_end - final_start, BOOTMEM_DEFAULT); >> } >> >> @@ -286,9 +286,11 @@ void __init memblock_x86_reserve_range(u64 start, u64 end, char *name) >> if (start == end) >> return; >> >> - if (WARN_ONCE(start > end, "memblock_x86_reserve_range: wrong range [%#llx, %#llx]\n", start, end)) >> + if (WARN_ONCE(start > end, "memblock_x86_reserve_range: wrong range [%#llx, %#llx)\n", start, end)) > > Can you print these ranges the same way as the others? I think > "invalid range" might be closer to what you mean than "wrong range."
like to use end instead of end - 1.
> > I'm a little dubious about these "(start == end)" and "(start > end)" > checks anyway. Who are the callers of these functions? If "start" > and "end" are coming from an external source, e.g., some firmware > interface like an e820 table, the message doesn't give enough of a > clue about where the problem is. > > If "start" and "end" are internal things, I'd argue that the checks > are just covering up Linux bugs, and it'd be better to fix those > bugs and remove the checks.
so we add WARN_ here, could warn the possible wrong usage.
YH
|  |