Thread (11 messages) 11 messages, 4 authors, 2020-06-30

Re: [PATCH 3/3] powerpc/pseries: Add KVM guest doorbell restrictions

From: Nicholas Piggin <npiggin@gmail.com>
Date: 2020-06-30 12:00:58

Excerpts from Paul Mackerras's message of June 30, 2020 6:26 pm:
On Tue, Jun 30, 2020 at 03:35:08PM +1000, Nicholas Piggin wrote:
quoted
Excerpts from Paul Mackerras's message of June 30, 2020 12:27 pm:
quoted
On Sun, Jun 28, 2020 at 01:04:28AM +1000, Nicholas Piggin wrote:
quoted
KVM guests have certain restrictions and performance quirks when
using doorbells. This patch tests for KVM environment in doorbell
setup, and optimises IPI performance:

 - PowerVM guests may now use doorbells even if they are secure.

 - KVM guests no longer use doorbells if XIVE is available.
It seems, from the fact that you completely remove
kvm_para_available(), that you perhaps haven't tried building with
CONFIG_KVM_GUEST=y.
It's still there and builds:
OK, good, I missed that.
quoted
static inline int kvm_para_available(void)
{
        return IS_ENABLED(CONFIG_KVM_GUEST) && is_kvm_guest();
}

but...
quoted
Somewhat confusingly, that option is not used or
needed when building for a PAPR guest (i.e. the "pseries" platform)
but is used on non-IBM platforms using the "epapr" hypervisor
interface.
... is_kvm_guest() returns false on !PSERIES now.
And therefore kvm_para_available() returns false on all the platforms
where the code that depends on it could actually be used.

It's not correct to assume that !PSERIES means not a KVM guest.
Yep, thanks for catching it.
quoted
Not intended
to break EPAPR. I'm not sure of a good way to share this between
EPAPR and PSERIES, I might just make a copy of it but I'll see.
OK, so you're doing a new version?
Just sent.

Thanks,
Nick
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help