[PATCH v3 2/4] KVM: arm64: GICv4.1: Try to save hw pending state in save_pending_tables
Marc Zyngier
maz at kernel.org
Fri Mar 12 09:02:58 GMT 2021
On Thu, 11 Mar 2021 12:31:48 +0000,
Shenming Lu <lushenming at huawei.com> wrote:
>
> On 2021/3/11 17:09, Marc Zyngier wrote:
> > I have asked that question in the past: is it actually safe to remap
> > the vPEs and expect them to be runnable
>
> In my opinion, logically it can work, but there might be problems like the
> one below that I didn't notice...
One thing is that you will have lost interrupts in the meantime
(assuming your devices are still alive). How will you make up for
that?
>
> >
> > Also, the current code assumes that VMAPP.PTZ can be advertised if a
> > VPT is mapped for the first time. Clearly, it is unlikely that the VPT
> > will be only populated with 0s, so you'll end up with state corruption
> > on the first remap.
>
> Oh, thanks for pointing it out.
> And if we always signal PTZ when alloc = 1, does it mean that we
> can't remap the vPE when the VPT is not empty, thus there is no
> chance to get the VLPI state? Could we just assume that the VPT is
> not empty when first mapping the vPE?
I think we should drop the setting of PTZ altogether. It is a silly
micro-optimisation, and if the HW can't parse the VPT efficiently when
it is empty, then the HW is pretty bad, PTZ or not.
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
More information about the linux-arm-kernel
mailing list