Re: [PATCH] KVM: SVM: fix task switch emulation on INTn instruction.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 15, 2022, Maciej S. Szmigiero wrote:
> On 14.07.2022 15:57, Maxim Levitsky wrote:
> > On Thu, 2022-07-14 at 15:50 +0200, Maciej S. Szmigiero wrote:
> > > On 14.07.2022 14:44, Maxim Levitsky wrote:
> > > > Recently KVM's SVM code switched to re-injecting software interrupt events,
> > > > if something prevented their delivery.
> > > > 
> > > > Task switch due to task gate in the IDT, however is an exception
> > > > to this rule, because in this case, INTn instruction causes
> > > > a task switch intercept and its emulation completes the INTn
> > > > emulation as well.
> > > > 
> > > > Add a missing case to task_switch_interception for that.
> > > > 
> > > > This fixes 32 bit kvm unit test taskswitch2.
> > > > 
> > > > Fixes: 7e5b5ef8dca322 ("KVM: SVM: Re-inject INTn instead of retrying the insn on "failure"")
> > > > 
> > > > Signed-off-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx>
> > > > ---
> > > 
> > > That's a good catch, your patch looks totally sensible to me.
> > > People running Win 3.x or OS/2 on top of KVM will surely be grateful for it :)
> > 
> > Yes and also people who run 32 bit kvm unit tests :)
> 
> It looks like more people need to do this regularly :)

I do run KUT on 32-bit KVM, but until I hadn't done so on AMD for a long time and
so didn't realize the taskswitch2 failure was a regression.  My goal/hope is to
we'll get to a state where we're able to run the full gamut of tests before things
hit kvm/queue, but the number of permutations of configs and module params means
that's easier said than done.

Honestly, it'd be a waste of people's time to expect anyone else beyond us few
(and CI if we can get there) to test 32-bit KVM.  We do want to keep it healthy
for a variety of reasons, but I'm quite convinced that outside of us developers,
there's literally no one running 32-bit KVM.



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux