Re: [v1 1/1] xen, mm: Allow deferred page initialization for xen pv domains
From: Pavel Tatashin
Date: Mon Feb 26 2018 - 08:41:17 EST
Hi Juergen,
Thank you for taking a look at this patch, I will address your
comments, and send out an updated patch.
>> extern void default_banner(void);
>>
>> +static inline void paravirt_after_bootmem(void)
>> +{
>> + pv_init_ops.after_bootmem();
>> +}
>> +
>
> Putting this in the paravirt framework is overkill IMO. There is no need
> to patch the callsites for optimal performance.
>
> I'd put it into struct x86_hyper_init and pre-init it with x86_init_noop
Sure, I will move it into x86_hyper_init.
>>
>> +/*
>> + * During early boot all pages are pinned, but we do not have struct pages,
>> + * so return true until struct pages are ready.
>> + */
>
> Uuh, this comment is just not true.
>
> The "pinned" state for Xen means it is a pv pagetable known to Xen. Such
> pages are read-only for the guest and can be modified via hypercalls
> only.
>
> So either the "pinned" state will be tested for page tables only, in
> which case the comment needs adjustment, or the code is wrong.
The comment should state: During early boot all _page table_ pages are pinned
Thank you,
Pavel