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