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 mm01.cs.columbia.edu (mm01.cs.columbia.edu [128.59.11.253]) by smtp.lore.kernel.org (Postfix) with ESMTP id 017DDC433EF for ; Wed, 8 Dec 2021 15:44:48 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 8487C4B19D; Wed, 8 Dec 2021 10:44:48 -0500 (EST) X-Virus-Scanned: at lists.cs.columbia.edu Authentication-Results: mm01.cs.columbia.edu (amavisd-new); dkim=softfail (fail, message has been altered) header.i=@kernel.org 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 2ZzrgAPsJXXM; Wed, 8 Dec 2021 10:44:47 -0500 (EST) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 609AD407ED; Wed, 8 Dec 2021 10:44:47 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id D6575407ED for ; Wed, 8 Dec 2021 10:44:45 -0500 (EST) X-Virus-Scanned: at lists.cs.columbia.edu 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 OyjQc7F9JWs0 for ; Wed, 8 Dec 2021 10:44:44 -0500 (EST) Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id E1FFC407E7 for ; Wed, 8 Dec 2021 10:44:43 -0500 (EST) 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 sin.source.kernel.org (Postfix) with ESMTPS id 54E68CE1FAC; Wed, 8 Dec 2021 15:44:39 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 81B15C00446; Wed, 8 Dec 2021 15:44:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1638978277; bh=olrtr/vutUtS6JAs1JgFn6ixytY6DwMSP+1k5yff+Bc=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=sNQRE8fYBtdAkW6v5vVLPIvcEgDD/4zrvKTfLe9BrVPdWkvoZ5Lzzqt2x2UH/4AjD PQWh1QnQUHmqtetoftiij6OYtOMVQ//ipPz46Ee6tx18AMntneYRlFKHqdqJ/N0l6i BVJmr70Sj1nW15a1O8HU1KyAFEeURW6YIuONf1rkk+R9rvD6TOLgAU+QoWOSeBTrMB lfRM69vkDxBHuM/ackki7uC5ypQPBvL4QTttKewz1RMsrt3LHpOyFDZhNFj1XOLVs6 oSgQAd8q+nD34GyHhXbbqGzXsAeceAwibiEVCtrdZ60TPqYLj3N0xr9e+eUP2hT0Ry fcI9BtwnLxP1Q== Received: from sofa.misterjones.org ([185.219.108.64] helo=why.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1muz7T-00Ao7i-Im; Wed, 08 Dec 2021 15:44:35 +0000 Date: Wed, 08 Dec 2021 15:44:35 +0000 Message-ID: <87bl1r14po.wl-maz@kernel.org> From: Marc Zyngier To: Alexandru Elisei Subject: Re: [PATCH v2 3/4] KVM: arm64: Add KVM_ARM_VCPU_PMU_V3_SET_PMU attribute In-Reply-To: References: <20211206170223.309789-1-alexandru.elisei@arm.com> <20211206170223.309789-4-alexandru.elisei@arm.com> <87czm718cp.wl-maz@kernel.org> 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.219.108.64 X-SA-Exim-Rcpt-To: alexandru.elisei@arm.com, reijiw@google.com, james.morse@arm.com, suzuki.poulose@arm.com, will@kernel.org, mark.rutland@arm.com, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, tglx@linutronix.de, mingo@redhat.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Cc: mingo@redhat.com, tglx@linutronix.de, will@kernel.org, kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org X-BeenThere: kvmarm@lists.cs.columbia.edu X-Mailman-Version: 2.1.14 Precedence: list List-Id: Where KVM/ARM decisions are made List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu On Wed, 08 Dec 2021 15:20:30 +0000, Alexandru Elisei wrote: > > Hi Marc, > > On Wed, Dec 08, 2021 at 02:25:58PM +0000, Marc Zyngier wrote: > > On Wed, 08 Dec 2021 12:23:44 +0000, > > Alexandru Elisei wrote: > > > > > > This makes me wonder. Should KVM enforce having userspace either not > > > setting the PMU for any VCPU, either setting it for all VCPUs? I think this > > > would be a good idea and will reduce complexity in the long run. I also > > > don't see a use case for userspace choosing to set the PMU for a subset of > > > VCPUs, leaving the other VCPUs with the default behaviour. > > > > Indeed. As much as I'm happy to expose a PMU to a guest on an > > asymmetric system, I really do not want the asymmetry in the guest > > itself. So this should be an all or nothing behaviour. > > From what I can tell, the only asymmetry that can be exposed to a guest as > a result of the series is the number of events supported on a VCPU. Not only. It means that the events are counting different things. It isn't only about pmuver, which is only about the architectural revision implemented by the PMU. If you start assigning two different PMUs (in the perf sense) to a guest, you open the Pandora box of having to deal with all the subtle nonsense that asymmetric systems bring. What about event filtering, for example? > I don't like the idea of forcing userspace to set the *same* PMU for all > VCPUs, as that would severely limit running VMs with PMU on asymmetric > systems. On the contrary, I am *very* happy to limit a VM to a single PMU (and thus CPU) type on these systems. Really. > Even if KVM forces to set a PMU (does not have to be the same PMU) for all > VCPUs, that still does not look like the correct solution for me, because > userspace can set PMUs with different number of events. I don't understand what you mean. If you associate a single PMU type to the guest, that's all the guest sees. > What I can try is to make kvm->arch.pmuver the minimum version of all the > VCPU PMUs and the implict PMU. I'll give that a go in the next iteration. I really don't think we need any of this. M. -- Without deviation from the norm, progress is not possible. _______________________________________________ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm