From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: Re: [PATCH 1/7] KVM: api: add kvm_irq_routing_extended_msi Date: Mon, 6 Jul 2015 17:08:26 +0100 Message-ID: <559AA7FA.5010804@arm.com> References: <1435592237-17924-1-git-send-email-eric.auger@linaro.org> <1435592237-17924-2-git-send-email-eric.auger@linaro.org> <011f01d0b498$6a17aeb0$3e470c10$@samsung.com> <5596503E.6040902@arm.com> <00fd01d0b7b6$f6cf3550$e46d9ff0$@samsung.com> <559A3C9C.6050302@arm.com> <20150706093026.GA11590@cbox> <559A52E6.5050402@arm.com> <20150706103755.GC11590@cbox> <559A6164.1000401@redhat.com> <559A6527.1040107@arm.com> <559A6BBC.2040901@redhat.com> <024301d0b7f0$2b13b410$813b1c30$@samsung.com> <559AA0D6.7070703@arm.com> <559AA4CF.7060300@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 2306857CDA for ; Mon, 6 Jul 2015 11:57:02 -0400 (EDT) Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kedTzXQ7AiA5 for ; Mon, 6 Jul 2015 11:57:00 -0400 (EDT) Received: from cam-admin0.cambridge.arm.com (cam-admin0.cambridge.arm.com [217.140.96.50]) by mm01.cs.columbia.edu (Postfix) with ESMTP id D00AA57CD9 for ; Mon, 6 Jul 2015 11:56:58 -0400 (EDT) In-Reply-To: <559AA4CF.7060300@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu To: Paolo Bonzini , Pavel Fedin , 'Christoffer Dall' Cc: "eric.auger@st.com" , "kvm@vger.kernel.org" , Marc Zyngier , "linux-kernel@vger.kernel.org" , "kvmarm@lists.cs.columbia.edu" , "linux-arm-kernel@lists.infradead.org" List-Id: kvmarm@lists.cs.columbia.edu On 06/07/15 16:54, Paolo Bonzini wrote: > > > On 06/07/2015 17:37, Andre Przywara wrote: >> Wouldn't: >> if (kvm_vm_check_extension(s, KVM_CAP_MSI_DEVID)) { >> kroute.flags = KVM_MSI_VALID_DEVID; >> kroute.u.msi.devid = (pci_bus_num(dev->bus) << 8) | dev->devfn; >> } >> >> be saner (without a global variable)? >> That would make the interface more consistent, with a new flag being >> protected by a new capability. > > I agree that your version is niceer, but you still need to cache the > kvm_vm_check_extension result... in a global variable. :) I used a static variable in a wrapper function in kvmtool ;-) TBH my argument wasn't so much about global variables (just saw that QEMU seems to use them already), but more about a consistent and architecture agnostic interface. Ciao! Andre.