Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp5632719imu; Mon, 26 Nov 2018 03:16:34 -0800 (PST) X-Google-Smtp-Source: AFSGD/WparQe9jOdc0HNOD8OMWezBiK4H8K1/3QqZMWYFDaQIH3yIO46yomFYRldcdHu/Hrd08u6 X-Received: by 2002:a17:902:8b88:: with SMTP id ay8mr27468657plb.55.1543230994480; Mon, 26 Nov 2018 03:16:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543230994; cv=none; d=google.com; s=arc-20160816; b=DLVv925lpJtZAkKlpGFoozuFH7SAsl0Pby3HS6FpH4/7ffU1JnIL4Bl/PQr1PowA7V ReEXSde1qASuYjPfpcs9H44H7KdaVE7PP8qgdqSwDU+Yh08+RppK0thfFEvLSwoIgdee jthDOTvz9YFa/BfmLqByfRpM2J2c//TdxbOk+9Tkkt+pss6/KV/uq5HF2lhfqUDuBl0p lmF62/hnVCL59cicJM5K5+YBnX2M2cgwjeYeGe9Oe74WuRnLi8VAd+MXgY3E+tmCGwSr BhQyCgnaFgyaOme3lLd4LlUEpeD7MrUKckYYFKE+TWwL3J7uWc3nz/9/HtQtwFScm6BY CThw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=W7xqLBoPCMV6M8TuqUfI8pHS8tGWkKlCxncWRVJ0qik=; b=un4OIpV7VvwSrvxa0cQSPqumj9vjVjoURJWcpbZRmbvqeVcC+iYt4ghdka6IowHnhr OTSThSeotSm8nnJZjfNbpSt3ZfIIHGrwwH+bHDXlp/xSVrXy+bOchCWQzMioWZjHCs/K VqwOv68Mlmb0RxzNmst45wzVqlqv/9qvTloShe41wLxgTzjGZZY4yNmrCKk7ToUJbb31 V7Y6LDvKjU+16INL9cB5Ph4j1sPug/Khzo0d8zE78YJyKNQ8m+18V2vIG6oa9n4ucgEX J226Q9tWWoGihwq+qBv0Xh11Q3nLG11GcnVlF2p7iwldAXKXq6fkEc5s1WVzbElA97oI QHIA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p3si6383055plk.424.2018.11.26.03.16.20; Mon, 26 Nov 2018 03:16:34 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730626AbeKZWIs (ORCPT + 99 others); Mon, 26 Nov 2018 17:08:48 -0500 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:33244 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727952AbeKZWIr (ORCPT ); Mon, 26 Nov 2018 17:08:47 -0500 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 19806356D; Mon, 26 Nov 2018 03:15:00 -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 629F53F5AF; Mon, 26 Nov 2018 03:14:55 -0800 (PST) From: Andrew Murray To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Shawn Guo , Sascha Hauer , Will Deacon , Mark Rutland , Benjamin Herrenschmidt , Thomas Gleixner , Borislav Petkov , x86@kernel.org, Ralf Baechle , Paul Burton , James Hogan , Martin Schwidefsky , Heiko Carstens , "David S . Miller" , sparclinux@vger.kernel.org, Michael Ellerman Cc: linux-s390@vger.kernel.org, linux-mips@linux-mips.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-alpha@vger.kernel.org Subject: [PATCH v2 19/20] x86: perf/core: advertise PMU exclusion capability Date: Mon, 26 Nov 2018 11:12:35 +0000 Message-Id: <1543230756-15319-20-git-send-email-andrew.murray@arm.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1543230756-15319-1-git-send-email-andrew.murray@arm.com> References: <1543230756-15319-1-git-send-email-andrew.murray@arm.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org For PMUs that have the capability to exclude events based on context. Let's advertise that we support the PERF_PMU_CAP_EXCLUDE capability to ensure that perf doesn't prevent us from handling events where any exclusion flags are set. Signed-off-by: Andrew Murray --- arch/x86/events/core.c | 2 ++ arch/x86/events/intel/bts.c | 2 +- arch/x86/events/intel/pt.c | 4 +++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c index dfb2f7c..3f51916 100644 --- a/arch/x86/events/core.c +++ b/arch/x86/events/core.c @@ -2297,6 +2297,8 @@ static struct pmu pmu = { .event_idx = x86_pmu_event_idx, .sched_task = x86_pmu_sched_task, .task_ctx_size = sizeof(struct x86_perf_task_context), + + .capabilities = PERF_PMU_CAP_EXCLUDE, }; void arch_perf_update_userpage(struct perf_event *event, diff --git a/arch/x86/events/intel/bts.c b/arch/x86/events/intel/bts.c index 24ffa1e..4976695 100644 --- a/arch/x86/events/intel/bts.c +++ b/arch/x86/events/intel/bts.c @@ -601,7 +601,7 @@ static __init int bts_init(void) } bts_pmu.capabilities = PERF_PMU_CAP_AUX_NO_SG | PERF_PMU_CAP_ITRACE | - PERF_PMU_CAP_EXCLUSIVE; + PERF_PMU_CAP_EXCLUSIVE | PERF_PMU_CAP_EXCLUDE; bts_pmu.task_ctx_nr = perf_sw_context; bts_pmu.event_init = bts_event_init; bts_pmu.add = bts_event_add; diff --git a/arch/x86/events/intel/pt.c b/arch/x86/events/intel/pt.c index 8d016ce..2d811f8 100644 --- a/arch/x86/events/intel/pt.c +++ b/arch/x86/events/intel/pt.c @@ -1516,7 +1516,9 @@ static __init int pt_init(void) pt_pmu.pmu.capabilities = PERF_PMU_CAP_AUX_NO_SG | PERF_PMU_CAP_AUX_SW_DOUBLEBUF; - pt_pmu.pmu.capabilities |= PERF_PMU_CAP_EXCLUSIVE | PERF_PMU_CAP_ITRACE; + pt_pmu.pmu.capabilities = PERF_PMU_CAP_EXCLUSIVE | + PERF_PMU_CAP_ITRACE | + PERF_PMU_CAP_EXCLUDE; pt_pmu.pmu.attr_groups = pt_attr_groups; pt_pmu.pmu.task_ctx_nr = perf_sw_context; pt_pmu.pmu.event_init = pt_event_init; -- 2.7.4