RE: [PATCH v5 1/3] x86/hyper-v: Suspend/resume the hypercall page for hibernation

From: Dexuan Cui
Date: Mon Sep 30 2019 - 16:44:19 EST


> From: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
> Sent: Friday, September 27, 2019 2:05 AM
> To: Dexuan Cui <decui@xxxxxxxxxxxxx>
>
> Dexuan Cui <decui@xxxxxxxxxxxxx> writes:
> ...
> > So, I'm pretty sure no IPI can happen between hv_suspend() and
> hv_resume().
> > self-IPI is not supposed to happen either, since interrupts are disabled.
> >
> > IMO TLB flush should not be an issue either, unless the kernel changes page
> > tables between hv_suspend() and hv_resume(), which is not the case as I
> > checked the related code, but it looks in theory that might happen, say, in
> > the future, so if you insist we should save the variable "hv_hypercall_pg"
> > to a temporary variable and set the "hv_hypercall_pg" to NULL before we
> > disable the hypercall page
>
> Let's do it as a future proof so we can keep relying on !hv_hypercall_pg
> everywhere we need. No need to change this patch IMO, a follow-up would
> do.
> Vitaly

Now I think it would be better to do it in this patch. :-)
I'll post a v6 to follow your suggestion.

Thanks,
-- Dexuan