[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/4] spapr/xive: Allocate vCPU IPIs from the vCPU contexts
From: |
Cédric Le Goater |
Subject: |
[PATCH v2 0/4] spapr/xive: Allocate vCPU IPIs from the vCPU contexts |
Date: |
Thu, 20 Aug 2020 15:45:43 +0200 |
Hello,
When QEMU switches to the XIVE interrupt mode, it creates all the
guest interrupts at the level of the KVM device. These interrupts are
backed by real HW interrupts from the IPI interrupt pool of the XIVE
controller.
Currently, this is done from the QEMU main thread, which results in
allocating all interrupts from the chip on which QEMU is running. IPIs
are not distributed across the system and the load is not well
balanced across the interrupt controllers.
Change the vCPU IPI allocation to run from the vCPU context. The
associated XIVE IPI interrupt will be allocated on the chip on which
the vCPU is running and improve distribution of the IPIs in the system.
When the vCPUs are pinned, this will make the IPI local to the chip of
the vCPU. It will reduce rerouting between interrupt controllers and
gives better performance.
I did some basic migration testing with the 'dual' and 'xive' modes,
also tried CPU hoplug. I haven't tried migration with older pseries
machine.
Thanks,
C.
Cédric Le Goater (4):
spapr/xive: Modify kvm_cpu_is_enabled() interface
spapr/xive: Use kvmppc_xive_source_reset() in post_load
spapr/xive: Allocate IPIs independently from the other sources
spapr/xive: Allocate vCPU IPIs from the vCPU contexts
hw/intc/spapr_xive_kvm.c | 102 ++++++++++++++++++++++++++++++++-------
1 file changed, 84 insertions(+), 18 deletions(-)
--
2.25.4
- [PATCH v2 0/4] spapr/xive: Allocate vCPU IPIs from the vCPU contexts,
Cédric Le Goater <=
- [PATCH v2 2/4] spapr/xive: Use kvmppc_xive_source_reset() in post_load, Cédric Le Goater, 2020/08/20
- [PATCH v2 4/4] spapr/xive: Allocate vCPU IPIs from the vCPU contexts, Cédric Le Goater, 2020/08/20
- [PATCH v2 3/4] spapr/xive: Allocate IPIs independently from the other sources, Cédric Le Goater, 2020/08/20
- [PATCH v2 1/4] spapr/xive: Modify kvm_cpu_is_enabled() interface, Cédric Le Goater, 2020/08/20
- Re: [PATCH v2 0/4] spapr/xive: Allocate vCPU IPIs from the vCPU contexts, David Gibson, 2020/08/20