From: Yinghai Lu on
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
--
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/