From patchwork Thu Nov 15 12:55:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Murray X-Patchwork-Id: 10684283 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7C53D17F3 for ; Thu, 15 Nov 2018 12:56:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6ABA228F21 for ; Thu, 15 Nov 2018 12:56:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5EDE52C55D; Thu, 15 Nov 2018 12:56:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.6 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 1034528F21 for ; Thu, 15 Nov 2018 12:56:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Owner; bh=xCkDnbWScpcNIsnsSt/GJzLw9qWJG36mFCX2V2kgPEU=; b=As7 rvsUT49KzDXNiWCr3zxsN3FeSnSCQgHcgbqOqoE0VsF3xBbUR2Rp7IQDxk16sLuJPBG21pqw2j9Hp v3c2XnNCIdhnwUXMAVnNa3iroqDjUYpFVwILG/nMycgmLcRQUStSk7q5Rx/KDxG8gKoyt0DViC4X6 q1vllqyPjeOCdXtP06YVWGBkO5IKZphfblDyltOMrtK/PVPW5xCk6lDLVSWu3jTOgpHa6IspFxlCv ognIQQii3IDi+Zjmw+2TedetQTy3gc1uaRJBqeTGzWjZigtPGozUC8riaJp21GGuH/D3/mqDYzmHe 0Kr3JDPUnWHOqc7Y+jzeV+iYWclgHzw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gNHC1-00066k-8X; Thu, 15 Nov 2018 12:56:21 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gNHBs-0005zi-M7 for linux-arm-kernel@bombadil.infradead.org; Thu, 15 Nov 2018 12:56:12 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Message-Id:Date:Subject:Cc:To:From: Sender:Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=YzEu+C2RDsudOveyfrPPnTTZ3BL5Z8bYY+2fmlK3GOw=; b=O779PfPJ4Rvks1KdRJoDKTZLu TorxjhVz8BE27HbyefHhgfpCg3ie1eKjgqPBf+jy208b+8mgNFdcoYxqqV8scc8CvD5WLa3mxUjW3 3DGVoe3b30eJsUcTPwM9aAjMLVoooaCviy/Et0HQ59rg/37eyKkvk8qiJYw/P+G7HE9QHavAsc9cW oOaHI/PRjYF3WZ6yw0+E22GmQDvOBL11/1XPfPpzkUkVbPwM34AMuHtd3K532FRY2pdINzO/MVKXP 2KGY3l8goSN/KLwqIdO63Aft/UA5rcmTYFMT1rGxSDx00pTMPqmxcNuB09VNSptY4NxS8ub8SG+mq Nh4P9nrNw==; Received: from foss.arm.com ([217.140.101.70]) by casper.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gNHBo-0004EO-Ls for linux-arm-kernel@lists.infradead.org; Thu, 15 Nov 2018 12:56:11 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 69595A78; Thu, 15 Nov 2018 04:55:56 -0800 (PST) Received: from e119886-lin.cambridge.arm.com (unknown [10.37.6.11]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CC9873F5CF; Thu, 15 Nov 2018 04:55:54 -0800 (PST) From: Andrew Murray To: Christoffer Dall , Marc Zyngier , Catalin Marinas , Will Deacon , Mark Rutland Subject: [PATCH 0/4] arm64: Support perf event modifiers :G and :H Date: Thu, 15 Nov 2018 12:55:45 +0000 Message-Id: <1542286549-4501-1-git-send-email-andrew.murray@arm.com> X-Mailer: git-send-email 2.7.4 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181115_125608_870145_CD15C47C X-CRM114-Status: UNSURE ( 9.44 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP This patchset provides support for perf event modifiers :G and :H which allows for filtering of PMU events between host and guests when used with KVM. As the underlying hardware cannot distinguish between guest and host context, the performance counters must be stopped and started upon entry/exit to the guest. This is performed at EL2 in a way that minimizes overhead and improves accuracy of recording events that only occur in the requested context. This has been tested with VHE and non-VHE kernels with a KVM guest. Andrew Murray (4): arm64: KVM: add accessors to track guest/host only counters arm64: arm_pmu: Add support for exclude_host/exclude_guest attributes arm64: arm_pmu: Exclude EL1,2 with :G :H perf attributes arm64: KVM: Enable support for :G/:H perf event modifiers arch/arm64/include/asm/kvm_host.h | 20 +++++++++++++++++ arch/arm64/kernel/perf_event.c | 45 +++++++++++++++++++++++++++++++++------ arch/arm64/kvm/hyp/switch.c | 38 +++++++++++++++++++++++++++++++++ 3 files changed, 96 insertions(+), 7 deletions(-)