Re: [PATCH] KVM: s390: vsie: retry SIE instruction on host intercepts

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


On Mon, 2024-03-04 at 09:44 +0100, Christian Borntraeger wrote:
> Am 04.03.24 um 09:35 schrieb David Hildenbrand:
> > On 01.03.24 21:43, Eric Farman wrote:
> > > It's possible that SIE exits for work that the host needs to
> > > perform
> > > rather than something that is intended for the guest.
> > > 
> > > A Linux guest will ignore this intercept code since there is
> > > nothing
> > > for it to do, but a more robust solution would rewind the PSW
> > > back to
> > > the SIE instruction. This will transparently resume the guest
> > > once
> > > the host completes its work, without the guest needing to process
> > > what is effectively a NOP and re-issue SIE itself.
> > 
> > I recall that 0-intercepts are valid by the architecture. Further,
> > I recall that there were some rather tricky corner cases where
> > avoiding 0-intercepts would not be that easy.

Any chance you recall any details of those corner cases? I can try to
chase some of them down.

> > 
> > Now, it's been a while ago, and maybe I misremember. SoI'm trusting
> > people with access to documentation can review this.
> Yes, 0-intercepts are allowed, and this also happens when LPAR has an
> exit.

>From an offline conversation I'd had some months back:

The arch does allow ICODE=0 to be stored, but it's supposed to happen
only upon a host interruption -- in which case the old PSW is supposed
to point back at the SIE, to resume guest execution if the host should

> So this patch is not necessary, the question is if this would be an
> valuable optimization?

It's a reasonable question. I don't think I have a reasonable way of
measuring the exit, though. :/

[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