Re: KVM broken after suspend in most recent kernels.

From: Maxim Levitsky
Date: Wed May 27 2020 - 08:28:59 EST


On Tue, 2020-05-26 at 22:13 -0700, Sean Christopherson wrote:
> On Mon, May 25, 2020 at 09:15:57PM +0800, Brad Campbell wrote:
> > > When you mean that KVM is broken after suspend, you mean that you
> > > can't
> > > start new VMs after suspend, or do VMs that were running before
> > > suspend
> > > break? I see the later on my machine. I have AMD system though,
> > > so most
> > > likely this is another bug.
> > >
> > > Looking at the commit, I suspect that we indeed should set the
> > > IA32_FEAT_CTL
> > > after resume from ram, since suspend to ram might count as a
> > > complete CPU
> > > reset.
> > >
> >
> > One of those "I should have clarified that" moments immediately
> > after I
> > pressed send. I've not tried suspending with a VM running. It's
> > "can't start
> > new VMs after suspend".
>
> Don't bother testing suspending with a VM, the only thing that will
> be
> different is that your system will hang on resume instead when
> running a
> VM. If there are active VMs, KVM automatically re-enables VMX via
> VMXON
> after resume, and VMXON is what's faulting.
>
> Odds are good the firmware simply isn't initializing IA32_FEAT_CTL,
> ever.
> The kernel handles the boot-time case, but I (obviously) didn't
> consider
> the suspend case. I'll work on a patch.

This is exactly what I was thinking about this as well.

Best regards,
Maxim Levitsky
>