Re: [PATCH 12/19] KVM: PPC: Book3S HV: record guest queue page address
From: David Gibson <hidden>
Date: 2019-02-04 06:19:10
Also in:
kvm
On Mon, Jan 07, 2019 at 07:43:24PM +0100, Cédric Le Goater wrote:
The guest physical address of the event queue will be part of the state to transfer in the migration. Cache its value when the queue is configured, it will save us an OPAL call.
That doesn't sound like a very compelling case - migration is already a hundreds of milliseconds type operation, I wouldn't expect a few extra OPAL calls to be an issue.
quoted hunk ↗ jump to hunk
Signed-off-by: Cédric Le Goater <clg@kaod.org> --- arch/powerpc/include/asm/xive.h | 2 ++ arch/powerpc/kvm/book3s_xive_native.c | 4 ++++ 2 files changed, 6 insertions(+)diff --git a/arch/powerpc/include/asm/xive.h b/arch/powerpc/include/asm/xive.h index 7a7aa22d8258..e90c3c5d9533 100644 --- a/arch/powerpc/include/asm/xive.h +++ b/arch/powerpc/include/asm/xive.h@@ -74,6 +74,8 @@ struct xive_q { u32 esc_irq; atomic_t count; atomic_t pending_count; + u64 guest_qpage; + u32 guest_qsize; }; /* Global enable flags for the XIVE support */diff --git a/arch/powerpc/kvm/book3s_xive_native.c b/arch/powerpc/kvm/book3s_xive_native.c index 35d806740c3a..4ca75aade069 100644 --- a/arch/powerpc/kvm/book3s_xive_native.c +++ b/arch/powerpc/kvm/book3s_xive_native.c@@ -708,6 +708,10 @@ static int kvmppc_h_int_set_queue_config(struct kvm_vcpu *vcpu, } qaddr = page_to_virt(page) + (qpage & ~PAGE_MASK); + /* Backup queue page address and size for migration */ + q->guest_qpage = qpage; + q->guest_qsize = qsize; + rc = xive_native_configure_queue(xc->vp_id, q, priority, (__be32 *) qaddr, qsize, true); if (rc) {
-- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
Attachments
- signature.asc [application/pgp-signature] 833 bytes