From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752086AbcGRLbL (ORCPT ); Mon, 18 Jul 2016 07:31:11 -0400 Received: from mga02.intel.com ([134.134.136.20]:37320 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751943AbcGRLbI (ORCPT ); Mon, 18 Jul 2016 07:31:08 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,383,1464678000"; d="scan'208";a="997388518" From: Alexander Shishkin To: Mathieu Poirier Cc: peterz@infradead.org, mingo@redhat.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH 3/3] perf/core: enabling mapping of the stop filters In-Reply-To: <1468621541-31024-4-git-send-email-mathieu.poirier@linaro.org> References: <1468621541-31024-1-git-send-email-mathieu.poirier@linaro.org> <1468621541-31024-4-git-send-email-mathieu.poirier@linaro.org> User-Agent: Notmuch/0.21 (http://notmuchmail.org) Emacs/24.5.1 (x86_64-pc-linux-gnu) Date: Mon, 18 Jul 2016 14:31:05 +0300 Message-ID: <871t2rp4hy.fsf@ashishki-desk.ger.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Mathieu Poirier writes: > 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. Indeed. > > Signed-off-by: Mathieu Poirier > --- > kernel/events/core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/events/core.c b/kernel/events/core.c > index b9aa8f0ff070..b0bf00c728c2 100644 > --- a/kernel/events/core.c > +++ b/kernel/events/core.c > @@ -6498,7 +6498,7 @@ got_name: > */ > static bool perf_addr_filter_needs_mmap(struct perf_addr_filter *filter) > { > - return filter->filter && filter->inode; > + return filter->inode; > } Maybe kill the function altogether and instead: diff --git a/kernel/events/core.c b/kernel/events/core.c index a001be5d4b..bc8e1ad170 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -7905,7 +7905,8 @@ 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)) + /* file-based filter */ + if (filter->inode) event->addr_filters_offs[count] = perf_addr_filter_apply(filter, mm); Thanks, -- Alex