From patchwork Mon Jul 18 16:43:07 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Poirier X-Patchwork-Id: 72217 Delivered-To: patch@linaro.org Received: by 10.140.29.52 with SMTP id a49csp206890qga; Mon, 18 Jul 2016 09:44:47 -0700 (PDT) X-Received: by 10.107.30.146 with SMTP id e140mr14757433ioe.39.1468860282467; Mon, 18 Jul 2016 09:44:42 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 77si10194807itf.109.2016.07.18.09.44.42; Mon, 18 Jul 2016 09:44:42 -0700 (PDT) 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; dkim=pass header.i=@linaro.org; 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; dmarc=pass (p=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752111AbcGRQoN (ORCPT + 29 others); Mon, 18 Jul 2016 12:44:13 -0400 Received: from mail-io0-f173.google.com ([209.85.223.173]:33196 "EHLO mail-io0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751738AbcGRQoJ (ORCPT ); Mon, 18 Jul 2016 12:44:09 -0400 Received: by mail-io0-f173.google.com with SMTP id 38so164910688iol.0 for ; Mon, 18 Jul 2016 09:44:09 -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:in-reply-to:references; bh=G0KuCK411NXf+ONhCqYVW3u18wWtxLPJVKmVYqCXLus=; b=g/EOZ7dgljy4ffCfb5a4OMG6TvURS/TyIgNUMEYdn8zClZ2UDIbpNXKnElkD4imd3Y Zrkyig0ZKi3IMzFmuaQC9zoyh/sVezpL9d7cNq1Epp1QlKWA3jq1eGJrVdJg5AgR0xKH bCeY5ttzjDyeGfhs47z7sgNTUNDyUQtRZXMwM= 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:in-reply-to :references; bh=G0KuCK411NXf+ONhCqYVW3u18wWtxLPJVKmVYqCXLus=; b=WKg5X1RrN9jN+WvXDFH5oxApGXre1+yuBeTpFiusk/DhnuvSdkqxsFNM3eYiWRDWdt 4g7EvWuePDt2uNXME33AcVbusaDY9AnoCWmGw/8irk1w1jbukSZCTdYJU5syDm2rGx8w rX3xrsE9gdMS08P4fA1cetwmF5eyKZfg+o0dGfFxrgl1tCYx4cCKLkjqkn2Expmt9Asr nj3sqVIu84HO7p7nrxYm5XeRo3iw3ypWL20+mAi9kZF7hOQbioly9B6hFUGikXpcEVYa lgAvmqDzp7M+KNxJjWcOaQfiKDGGUu5tbyGUDG45mto7Do410z81S08uw1S4gv73V9+a 71SQ== X-Gm-Message-State: ALyK8tJgrIn/sOzzmcrgsOJwtftiNf5nWO9S1w0OhfhCD3WmnahQ/wzW94I1OPkA2Jo3cdKc X-Received: by 10.107.33.66 with SMTP id h63mr5356501ioh.10.1468860238493; Mon, 18 Jul 2016 09:43:58 -0700 (PDT) Received: from t430.cg.shawcable.net (S0106002369de4dac.cg.shawcable.net. [68.147.8.254]) by smtp.gmail.com with ESMTPSA id 6sm9195332iov.34.2016.07.18.09.43.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 18 Jul 2016 09:43:58 -0700 (PDT) From: Mathieu Poirier To: alexander.shishkin@linux.intel.com Cc: peterz@infradead.org, mingo@redhat.com, linux-kernel@vger.kernel.org, Mathieu Poirier Subject: [PATCH V2 3/3] perf/core: Enabling mapping of the stop filters Date: Mon, 18 Jul 2016 10:43:07 -0600 Message-Id: <1468860187-318-4-git-send-email-mathieu.poirier@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1468860187-318-1-git-send-email-mathieu.poirier@linaro.org> References: <1468860187-318-1-git-send-email-mathieu.poirier@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org At this time function perf_addr_filter_needs_mmap() will _not_ return true on a user space 'stop' filter. But stop filters needs exactly the same kind of mapping that range and start filters get. Signed-off-by: Mathieu Poirier --- kernel/events/core.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) -- 2.7.4 diff --git a/kernel/events/core.c b/kernel/events/core.c index f2bb2a0fae2b..6768ac4a2fcf 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -6493,15 +6493,6 @@ got_name: } /* - * Whether this @filter depends on a dynamic object which is not loaded - * yet or its load addresses are not known. - */ -static bool perf_addr_filter_needs_mmap(struct perf_addr_filter *filter) -{ - return filter->filter && filter->inode; -} - -/* * Check whether inode and address range match filter criteria. */ static bool perf_addr_filter_match(struct perf_addr_filter *filter, @@ -7728,7 +7719,11 @@ static void perf_event_addr_filters_apply(struct perf_event *event) list_for_each_entry(filter, &ifh->list, entry) { event->addr_filters_offs[count] = 0; - if (perf_addr_filter_needs_mmap(filter)) + /* + * Adjust base offset if the filter is associated to a binary + * that needs to be mapped. + */ + if (filter->inode) event->addr_filters_offs[count] = perf_addr_filter_apply(filter, mm);