Re: [PATCH v2] x86/Hyper-V: Support for free page reporting
From: Wei Liu
Date: Wed Jan 06 2021 - 11:15:49 EST
On Wed, Jan 06, 2021 at 05:12:54PM +0100, Vitaly Kuznetsov wrote:
> Wei Liu <wei.liu@xxxxxxxxxx> writes:
>
> > On Wed, Jan 06, 2021 at 02:28:20PM +0100, Vitaly Kuznetsov wrote:
> > [...]
> >>
> >> > +bool hv_query_ext_cap(u64 cap_query)
> >> > +{
> >> > + u64 *cap;
> >> > + unsigned long flags;
> >> > + u64 ext_cap = 0;
> >> > +
> >> > + /*
> >> > + * Querying extended capabilities is an extended hypercall. Check if the
> >> > + * partition supports extended hypercall, first.
> >> > + */
> >> > + if (!(ms_hyperv.priv_high & HV_ENABLE_EXTENDED_HYPERCALLS))
> >> > + return 0;
> >> > +
> >> > + /*
> >> > + * Repurpose the input page arg to accept output from Hyper-V for
> >> > + * now because this is the only call that needs output from the
> >> > + * hypervisor. It should be fixed properly by introducing an
> >> > + * output arg once we have more places that require output.
> >> > + */
> >>
> >> I remember there was a patch from Wei (realter to running Linux as root
> >> partition) doing the job, we can probably merge it early to avoid this
> >> re-purposing.
> >>
> >
> > We want to be frugal regarding memory usage, so in my patch the output
> > page is only allocated when Linux is running as the root partition.
> >
> > This patch is mostly only useful when Linux is running as a child
> > partition. This is a different use case.
>
> Well, yea, while one 4k page per CPU is probably not much, why
> allocating something we don't really need? The whole 're-purposing' idea
> comes from the misleading 'hyperv_pcpu_input_arg' name, which can be
> just 'hyperv_pcpu_arg' (and we can allocate two pages for root
> partition).
Yes. We can simply renamed it in the future.
Wei.
>
> All this is not a big deal, we can take a look again after root
> partition support lands and do some cleanup if needed.
>
> --
> Vitaly
>