From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3A79BECAAD8 for ; Wed, 21 Sep 2022 17:10:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Subject:Cc:To:From:Message-ID:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=gofG9LtSmlrCpam6DeiECTwHNdDCQNHcOMJyRKX/Jks=; b=XCpaLUsp5MxKgc wZpX8NrV/PsA1Ny+nW2ijnPbXK8+g639G1j+qPOv3HeFui0JD/qaM8n+wqyayboIb6q72yeH0ASzd W0ornKB/eR9ClGj8ovp3MogiZu8liF4cw8T49gjsI8upzjprzXHYuQvawZVZHyXnJICXKJqFP7zY/ seHZ3jfYgMQepYNdrmTQSpdS35HL8cmysyiDvPdK2azIyyg7sDfFKxAsoqI6oUym5MkQpR3KqOazT lgSdw+AHwh2JBT+h7/4Kl0P4PIDZ1d8G6KwlXnu21qkUcZdEIUGOe2lMUoNNZMzi84oEVMRd9cdAt gg0XJUBFYW3yOQg7XF7g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ob3DR-00C7kU-SS; Wed, 21 Sep 2022 17:08:54 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ob3DM-00C7hW-2L; Wed, 21 Sep 2022 17:08:51 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 3D51A63233; Wed, 21 Sep 2022 17:08:47 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 99E3EC433D7; Wed, 21 Sep 2022 17:08:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1663780126; bh=hmdaMiCh0a1EdCGVaIUfBSrF9U1MEodOCxozbMGyCWA=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=cofs2GNz67wZZiPk6X8Rx/ZzWH2AgmMTgYH5tDoYzv+0gYZL0L2CobGr0+oFxHIGw hBtiU2P1Ig0AScO44/L0Sn+75JiU/D0MIGjxnlvlDB1Mom1wLDpUgKnu7Y0mpqQHKY UUmT5bpoO/fFTB3S4NoMkMMqIXPWp99CgB5Cii78shnE29L7mK9LebpiX9AnQyfgtb V572fc+OEX4hXOA/gxfQXuKiXZg2cObVbXr2Sckm5plMrw1TBLs2d8kQmplGI3BLkh PHHkg4q5aCjB061jQnGR+6z0p9a+gsNcRtQbqJ9MncTxgVSg+HmkKCOXFTNMo00lPj v8H9LYR3bHpzg== Received: from 185-176-101-241.host.sccbroadband.ie ([185.176.101.241] helo=wait-a-minute.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1ob3DI-00Bj7t-0J; Wed, 21 Sep 2022 18:08:44 +0100 Date: Wed, 21 Sep 2022 18:08:41 +0100 Message-ID: <87pmfok63q.wl-maz@kernel.org> From: Marc Zyngier To: Alexey Kardashevskiy Cc: kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm-riscv@lists.infradead.org, Paolo Bonzini , Anup Patel , kvm-ppc@vger.kernel.org, Nicholas Piggin Subject: Re: [PATCH kernel v3] KVM: PPC: Make KVM_CAP_IRQFD_RESAMPLE support platform dependent In-Reply-To: <20220921044925.101802-1-aik@ozlabs.ru> References: <20220921044925.101802-1-aik@ozlabs.ru> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") X-SA-Exim-Connect-IP: 185.176.101.241 X-SA-Exim-Rcpt-To: aik@ozlabs.ru, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm-riscv@lists.infradead.org, pbonzini@redhat.com, anup@brainfault.org, kvm-ppc@vger.kernel.org, npiggin@gmail.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220921_100848_230824_98758EDE X-CRM114-Status: GOOD ( 27.09 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Wed, 21 Sep 2022 05:49:25 +0100, Alexey Kardashevskiy wrote: > > When introduced, IRQFD resampling worked on POWER8 with XICS. However > KVM on POWER9 has never implemented it - the compatibility mode code > ("XICS-on-XIVE") misses the kvm_notify_acked_irq() call and the native > XIVE mode does not handle INTx in KVM at all. > > This moved the capability support advertising to platforms and stops > advertising it on XIVE, i.e. POWER9 and later. > > This stops advertising the capability on MIPS and RISC-V as these > do not select HAVE_KVM_IRQFD and do not implement IRQFD resampling > anyway. This paragraph makes no sense. Not selecting HAVE_KVM_IRQFD, by definition, prevents the advertising of the capability. Hell, you are even removing it from a block guarded by "#ifdef CONFIG_HAVE_KVM_IRQFD". > > Signed-off-by: Alexey Kardashevskiy > Acked-by: Nicholas Piggin > --- > Changes: > v3: > * removed all ifdeferry > * removed the capability for MIPS and RISCV > * adjusted the commit log about MIPS and RISCV > > v2: > * removed ifdef for ARM64. > --- > arch/arm64/kvm/arm.c | 1 + > arch/powerpc/kvm/powerpc.c | 6 ++++++ > arch/s390/kvm/kvm-s390.c | 1 + > arch/x86/kvm/x86.c | 1 + > virt/kvm/kvm_main.c | 1 - > 5 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c > index 2ff0ef62abad..d2daa4d375b5 100644 > --- a/arch/arm64/kvm/arm.c > +++ b/arch/arm64/kvm/arm.c > @@ -218,6 +218,7 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) > case KVM_CAP_VCPU_ATTRIBUTES: > case KVM_CAP_PTP_KVM: > case KVM_CAP_ARM_SYSTEM_SUSPEND: > + case KVM_CAP_IRQFD_RESAMPLE: > r = 1; > break; > case KVM_CAP_SET_GUEST_DEBUG2: > diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c > index fb1490761c87..908ce8bd91c9 100644 > --- a/arch/powerpc/kvm/powerpc.c > +++ b/arch/powerpc/kvm/powerpc.c > @@ -593,6 +593,12 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) > break; > #endif > > +#ifdef CONFIG_HAVE_KVM_IRQFD > + case KVM_CAP_IRQFD_RESAMPLE: > + r = !xive_enabled(); > + break; > +#endif > + > case KVM_CAP_PPC_ALLOC_HTAB: > r = hv_enabled; > break; > diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c > index edfd4bbd0cba..7521adadb81b 100644 > --- a/arch/s390/kvm/kvm-s390.c > +++ b/arch/s390/kvm/kvm-s390.c > @@ -577,6 +577,7 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) > case KVM_CAP_SET_GUEST_DEBUG: > case KVM_CAP_S390_DIAG318: > case KVM_CAP_S390_MEM_OP_EXTENSION: > + case KVM_CAP_IRQFD_RESAMPLE: > r = 1; > break; > case KVM_CAP_SET_GUEST_DEBUG2: > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index 43a6a7efc6ec..2d6c5a8fdf14 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -4395,6 +4395,7 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) > case KVM_CAP_VAPIC: > case KVM_CAP_ENABLE_CAP: > case KVM_CAP_VM_DISABLE_NX_HUGE_PAGES: > + case KVM_CAP_IRQFD_RESAMPLE: > r = 1; > break; > case KVM_CAP_EXIT_HYPERCALL: > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > index 584a5bab3af3..05cf94013f02 100644 > --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -4447,7 +4447,6 @@ static long kvm_vm_ioctl_check_extension_generic(struct kvm *kvm, long arg) > #endif > #ifdef CONFIG_HAVE_KVM_IRQFD > case KVM_CAP_IRQFD: > - case KVM_CAP_IRQFD_RESAMPLE: > #endif Do you see what I mean? > case KVM_CAP_IOEVENTFD_ANY_LENGTH: > case KVM_CAP_CHECK_EXTENSION_VM: So, with the nonsensical paragraph removed from the commit log: Acked-by: Marc Zyngier M. -- Without deviation from the norm, progress is not possible. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel