[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] kexec: allow relaxed placement specification via command line



On 30/05/16 14:48, Jan Beulich wrote:
> Rather than just allowing a fixed address or fully automatic placement,
> also allow for specifying an upper bound. Especially on EFI systems,
> where firmware memory use is commonly less predictable than on legacy
> BIOS ones, this makes success of the reservation more likely when
> automatic placement is not an option (e.g. because of special DMA
> restrictions of devices involved in actually carrying out the dump).
> 
> Also take the opportunity to actually add text to the "crashkernel"
> entry in the command line option doc.

> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1044,13 +1044,19 @@ void __init noreturn __start_xen(unsigne
>          }
>  
>  #ifdef CONFIG_KEXEC
> -        /* Don't overlap with modules. */
> -        e = consider_modules(s, e, PAGE_ALIGN(kexec_crash_area.size),
> -                             mod, mbi->mods_count, -1);
> -        if ( !kexec_crash_area.start && (s < e) )

I think we want a comment here.

/*
 * Looking backwards from the crash area limit, find a large enough
 * crash area that does not overlap with modules.
 */

> +        while ( !kexec_crash_area.start )

Does this mean that if an @<offset> is specified we no longer check for
overlapping modules?

>          {
> -            e = (e - kexec_crash_area.size) & PAGE_MASK;
> -            kexec_crash_area.start = e;
> +            /* Don't overlap with modules. */
> +            e = consider_modules(s, e, PAGE_ALIGN(kexec_crash_area.size),
> +                                 mod, mbi->mods_count, -1);
> +            if ( s >= e )
> +                break;
> +            if ( e > kexec_crash_area_limit )
> +            {
> +                e = kexec_crash_area_limit & PAGE_MASK;
> +                continue;
> +            }
> +            kexec_crash_area.start = (e - kexec_crash_area.size) & PAGE_MASK;
>          }
>  #endif
>      }

David


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.