From patchwork Tue Aug 23 19:51:11 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Poirier X-Patchwork-Id: 9296257 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id ACE4360757 for ; Tue, 23 Aug 2016 19:53:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9B55728C8D for ; Tue, 23 Aug 2016 19:53:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8CF4428CC8; Tue, 23 Aug 2016 19:53:06 +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=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 1BAD828C8D for ; Tue, 23 Aug 2016 19:53:06 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1bcHjX-0007bU-TV; Tue, 23 Aug 2016 19:51:39 +0000 Received: from mail-it0-x236.google.com ([2607:f8b0:4001:c0b::236]) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bcHjS-0007QU-BQ for linux-arm-kernel@lists.infradead.org; Tue, 23 Aug 2016 19:51:35 +0000 Received: by mail-it0-x236.google.com with SMTP id x131so168702809ite.0 for ; Tue, 23 Aug 2016 12:51:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=vCm1pSJJfN+oXKD4mSFYxN6Cq8vMgO+DHrhgLTt+HSA=; b=LNOzrlUyvYbeSKz/oJIH6O6FzsZYV9GUstLP9Z+8shldWQKbWGe3lADKzXYbdqXgzW DkrmvFiZ+UbwrYeanOQXQOQaeouyOdoiF2NkEMIXGio0tKZZR5BawJjxvyk/a4ND/pVg qgmMLH3rHIVx1E225Dl6C8xbtp0IeO9cgSv9Y= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=vCm1pSJJfN+oXKD4mSFYxN6Cq8vMgO+DHrhgLTt+HSA=; b=C/obY5Pj5L/jsQaYRW/pVMPge4qDaLptkC86cinlZ37P/DIUGDGYholTcM2wLA/JUD cnzL2XRpvyLM1wc2ogwzGts66MzV0Z1hDjehO0YpsBl7piM0xEq82WhpBWKsQ3p9LNM9 tHFrz6i/GkKMGSJframQSEc93NHrFBRWyipiYqyJn0nCivMraKleZWb4lAvKWw0j692J wZoOLq+vn947U4uHMCwAtHxkSepUfF0teZQGtnf0+1YQGsyYUYHdt3fr9d6B58c1w7zq 9vvofP50uHmY2ABk12ZQK5FS9szqe19K04LriAzz+fNgFgG/Nq1Qgx43WJsKLdQLpd65 Jixg== X-Gm-Message-State: AEkoouvfwJ+Sjfm92BH7B5hL1j6ssX6eiUiXD47qZmaZU26iRD3kP/7OPk495ekANJKlJjTE X-Received: by 10.36.203.69 with SMTP id u66mr27617008itg.8.1471981873249; Tue, 23 Aug 2016 12:51:13 -0700 (PDT) Received: from t430.cg.shawcable.net (S0106002369de4dac.cg.shawcable.net. [68.147.8.254]) by smtp.gmail.com with ESMTPSA id h63sm10196445ita.12.2016.08.23.12.51.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 23 Aug 2016 12:51:12 -0700 (PDT) From: Mathieu Poirier To: acme@kernel.org Subject: [PATCH] perf tools: Adding support for address filters Date: Tue, 23 Aug 2016 13:51:11 -0600 Message-Id: <1471981871-2025-1-git-send-email-mathieu.poirier@linaro.org> X-Mailer: git-send-email 2.7.4 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160823_125134_520364_F6234478 X-CRM114-Status: GOOD ( 14.13 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peterz@infradead.org, linux-kernel@vger.kernel.org, alexander.shishkin@linux.intel.com, mingo@redhat.com, jolsa@kernel.org, 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 patch makes it possible to use the current filter framework with address filters. That way address filters for HW tracers such as CoreSight and IntelPT can be communicated to the kernel drivers. CC: Alexander Shishkin Signed-off-by: Mathieu Poirier --- tools/perf/util/parse-events.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index 2eb8b1ed4cc8..912b43108da5 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c @@ -1760,8 +1760,24 @@ foreach_evsel_in_last_glob(struct perf_evlist *evlist, static int set_filter(struct perf_evsel *evsel, const void *arg) { const char *str = arg; + bool found = false; + int nr_addr_filters = 0; + struct perf_pmu *pmu = NULL; - if (evsel == NULL || evsel->attr.type != PERF_TYPE_TRACEPOINT) { + while ((pmu = perf_pmu__scan(pmu)) != NULL) + if (pmu->type == evsel->attr.type) { + found = true; + break; + } + + if (found) + perf_pmu__scan_file(pmu, "nr_addr_filters", + "%d", &nr_addr_filters); + + if (evsel == NULL) + return -1; + + if (evsel->attr.type != PERF_TYPE_TRACEPOINT && !nr_addr_filters) { fprintf(stderr, "--filter option should follow a -e tracepoint option\n"); return -1;