Re: [PATCH v3 29/33] KVM: PPC: Book3S HV: Handle differing endianness for H_ENTER_NESTED

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

 



On Wed, Oct 03, 2018 at 04:13:36PM +1000, David Gibson wrote:
> On Tue, Oct 02, 2018 at 09:31:28PM +1000, Paul Mackerras wrote:
> > From: Suraj Jitindar Singh <sjitindarsingh@xxxxxxxxx>
> > 
> > The hcall H_ENTER_NESTED takes as the two parameters the address in
> > L1 guest memory of a hv_regs struct and a pt_regs struct which the
> > L1 guest would like to use to run a L2 guest and in which are returned
> > the exit state of the L2 guest.  For efficiency, these are in the
> > endianness of the L1 guest, rather than being always big-endian as is
> > usually the case for PAPR hypercalls.
> 
> Does that actually make a difference for efficiency?  I thought the
> presence of the byte-reversing loads and stores meant byteswapping was
> basically zero-cost on POWER.

It means that the L1 hypervisor can pass a pointer to the regs struct
in the kvm_vcpu struct rather than having to make a copy, and copy the
values back after the H_ENTER_NESTED.  I'll reword the commit message
to say it's mostly about convenience and to a lesser extent about
performance.

Paul.




[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