On Mon, Apr 15, 2013 at 1:06 AM, Wang YanQing <[email protected]> wrote:
> Use memblock_is_region_reserved instead of memblock_find_in_range
> to simplify the check codes, and gain a little speed benefit.
>
> Signed-off-by: Wang YanQing <[email protected]>
> ---
>  arch/x86/kernel/setup.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 90d8cc9..9d60c85 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -577,11 +577,7 @@ static void __init reserve_crashkernel(void)
>                 }
>
>         } else {
> -               unsigned long long start;
> -
> -               start = memblock_find_in_range(crash_base,
> -                                crash_base + crash_size, crash_size, 1<<20);
> -               if (start != crash_base) {
> +               if (memblock_is_region_reserved(crash_base, crash_size)) {
>                         pr_info("crashkernel reservation failed - memory is 
> in use.\n");
>                         return;
>                 }

We need to use memblock_find_in_range here.

As the range [crash_base, crash_base+crash_size) could be not in
memblock.memory.

for example, if the ram only have 16G installed, and user just specify
crash_base to 64g.
and there is no [64g...) in memblock.reserved.
But that does not mean that we can use that range.

Thanks

Yinghai
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to