OSDN Git Service

spapr/xive: add hcall support when under KVM
authorCédric Le Goater <clg@kaod.org>
Mon, 13 May 2019 08:42:34 +0000 (10:42 +0200)
committerDavid Gibson <david@gibson.dropbear.id.au>
Wed, 29 May 2019 01:39:45 +0000 (11:39 +1000)
commit0c575703e487b6e36d226b67e0c8d08c004ce998
tree65df568ec35b18ea8029da81f5f0a4672dff2efd
parent38afd772f802ff787ea16af73b0c0d24a8c46b6c
spapr/xive: add hcall support when under KVM

XIVE hcalls are all redirected to QEMU as none are on a fast path.
When necessary, QEMU invokes KVM through specific ioctls to perform
host operations. QEMU should have done the necessary checks before
calling KVM and, in case of failure, H_HARDWARE is simply returned.

H_INT_ESB is a special case that could have been handled under KVM
but the impact on performance was low when under QEMU. Here are some
figures :

    kernel irqchip      OFF          ON
    H_INT_ESB                    KVM   QEMU

    rtl8139 (LSI )      1.19     1.24  1.23  Gbits/sec
    virtio             31.80    42.30   --   Gbits/sec

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Message-Id: <20190513084245.25755-4-clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/intc/spapr_xive.c
hw/intc/spapr_xive_kvm.c
include/hw/ppc/spapr_xive.h