From patchwork Fri Nov 13 18:45:07 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Poirier X-Patchwork-Id: 56533 Delivered-To: patch@linaro.org Received: by 10.112.155.196 with SMTP id vy4csp1213614lbb; Fri, 13 Nov 2015 10:47:05 -0800 (PST) X-Received: by 10.66.102.65 with SMTP id fm1mr34007560pab.20.1447440417168; Fri, 13 Nov 2015 10:46:57 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id hd5si28931795pbb.257.2015.11.13.10.46.56; Fri, 13 Nov 2015 10:46:57 -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; dkim=neutral (body hash did not verify) header.i=@linaro_org.20150623.gappssmtp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754966AbbKMSqp (ORCPT + 28 others); Fri, 13 Nov 2015 13:46:45 -0500 Received: from mail-pa0-f48.google.com ([209.85.220.48]:35603 "EHLO mail-pa0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754941AbbKMSql (ORCPT ); Fri, 13 Nov 2015 13:46:41 -0500 Received: by pacej9 with SMTP id ej9so1002523pac.2 for ; Fri, 13 Nov 2015 10:46:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro_org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=D+I39M6rgjKk3I/UUQoiOuCY5q+RqgkJIRPqP+30pBw=; b=muC9QkzCoPPwhM18HUjWqejpyML6WMLryabpfykZAQNoyERh61k1+aHTtxw0UQzizr Q9zYQuDeFdt/DcMqXP0Sm1uXEiJoZEKUAVsKwrsSzASh1kgZIiRi6x3WIbJfhP4u+msP lqVUeTwVrsd6zVcucqO9lkjS3ztHuPTUCu9i0sI+p6hFsNmB7ZoeYLJ2X2X/heSqgKQw sG5CWi2ykMsYqViC7Tn6q69wZTVIw5hM9cwkzVtk45XZNIfS3AK9jMoLAbuiPS/D0Ufu 9nPYRH4x5guyzEG1x5jN5JzVwSQSiGk6caAdAD+bGvoKX6/mdpP6S2uWsYfcHTKI55eR Orxw== 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=D+I39M6rgjKk3I/UUQoiOuCY5q+RqgkJIRPqP+30pBw=; b=W9Q2qEgL3+5tkafWs2B/Ejcu7daFo+QAlUcDNVs7ySCNPlsHh4t2kbm3SfgBf7j5Es EstK38dzaT1tFarT7T8VXRzetlYvQ3fKQJCfZMSQq978ZNXv6gd/khMtvj2pjNkTGpsZ xqGRFBSpSylMRsYy8fUJL/A/LPpIUrlTYiDK+ST6dqs4tPsJhZy2BHnffbRVKuCMbc7F KzeoC2zDYSZmtih/4kwRCbshdCdFpGyLzcHkQsIEQZfKn6fJ8PCYvvDcKhgQLbHpiBDP p9seAXt9auLObpR8acG+PmRLbewe0kMSCkRu+4wh6uVS6NtCkoAddaS2t/Pj57GTnjwo rt2Q== X-Gm-Message-State: ALoCoQnAIIfAV17CGhmGBGHBjDG2WhdPyA2/ZT/ATROja9B6UTplB45ZJLSLYr2HTNL4IGF1NYNL X-Received: by 10.66.221.105 with SMTP id qd9mr34663493pac.46.1447440401269; Fri, 13 Nov 2015 10:46:41 -0800 (PST) Received: from t430.cg.shawcable.net (S0106002369de4dac.cg.shawcable.net. [184.64.168.246]) by smtp.gmail.com with ESMTPSA id xi7sm21737967pbc.56.2015.11.13.10.46.39 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 13 Nov 2015 10:46:40 -0800 (PST) From: Mathieu Poirier To: gregkh@linuxfoundation.org, a.p.zijlstra@chello.nl, alexander.shishkin@linux.intel.com, acme@kernel.org, mingo@redhat.com, corbet@lwn.net, nicolas.pitre@linaro.org Cc: adrian.hunter@intel.com, zhang.chunyan@linaro.org, mike.leach@arm.com, tor@ti.com, al.grant@arm.com, pawel.moll@arm.com, fainelli@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, mathieu.poirier@linaro.org Subject: [PATCH V4 16/26] perf: changing pmu::setup_aux() parameter to include event Date: Fri, 13 Nov 2015 11:45:07 -0700 Message-Id: <1447440317-1977-17-git-send-email-mathieu.poirier@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1447440317-1977-1-git-send-email-mathieu.poirier@linaro.org> References: <1447440317-1977-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 For Coresight ETMv3/4 tracers the event carries information about trace modes such as user or kernel space tracing and whether tracing is allowed when operating in secure mode. Since this information is to be embedded in the private structure returned by setup_aux(), changing the first parameter to be of type struct perf_event * so that all the necessary information can be conveyed. Also changing current customer of the API to reflect the modification. Signed-off-by: Mathieu Poirier --- arch/x86/kernel/cpu/perf_event_intel_bts.c | 4 +++- arch/x86/kernel/cpu/perf_event_intel_pt.c | 5 +++-- include/linux/perf_event.h | 2 +- kernel/events/ring_buffer.c | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ diff --git a/arch/x86/kernel/cpu/perf_event_intel_bts.c b/arch/x86/kernel/cpu/perf_event_intel_bts.c index d1c0f254afbe..773600b2f313 100644 --- a/arch/x86/kernel/cpu/perf_event_intel_bts.c +++ b/arch/x86/kernel/cpu/perf_event_intel_bts.c @@ -68,10 +68,12 @@ static size_t buf_size(struct page *page) } static void * -bts_buffer_setup_aux(int cpu, void **pages, int nr_pages, bool overwrite) +bts_buffer_setup_aux(struct perf_event *event, void **pages, + int nr_pages, bool overwrite) { struct bts_buffer *buf; struct page *page; + int cpu = event->cpu; int node = (cpu == -1) ? cpu : cpu_to_node(cpu); unsigned long offset; size_t size = nr_pages << PAGE_SHIFT; diff --git a/arch/x86/kernel/cpu/perf_event_intel_pt.c b/arch/x86/kernel/cpu/perf_event_intel_pt.c index 42169283448b..f8b881210648 100644 --- a/arch/x86/kernel/cpu/perf_event_intel_pt.c +++ b/arch/x86/kernel/cpu/perf_event_intel_pt.c @@ -863,10 +863,11 @@ static int pt_buffer_init_topa(struct pt_buffer *buf, unsigned long nr_pages, * Return: Our private PT buffer structure. */ static void * -pt_buffer_setup_aux(int cpu, void **pages, int nr_pages, bool snapshot) +pt_buffer_setup_aux(struct perf_event *event, void **pages, + int nr_pages, bool snapshot) { struct pt_buffer *buf; - int node, ret; + int node, ret, cpu = event->cpu; if (!nr_pages) return NULL; diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index 092a0e8a479a..0d9964b5ed4d 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h @@ -292,7 +292,7 @@ struct pmu { /* * Set up pmu-private data structures for an AUX area */ - void *(*setup_aux) (int cpu, void **pages, + void *(*setup_aux) (struct perf_event *event, void **pages, int nr_pages, bool overwrite); /* optional */ diff --git a/kernel/events/ring_buffer.c b/kernel/events/ring_buffer.c index 182bc30899d5..87171b700c77 100644 --- a/kernel/events/ring_buffer.c +++ b/kernel/events/ring_buffer.c @@ -522,7 +522,7 @@ int rb_alloc_aux(struct ring_buffer *rb, struct perf_event *event, goto out; } - rb->aux_priv = event->pmu->setup_aux(event->cpu, rb->aux_pages, nr_pages, + rb->aux_priv = event->pmu->setup_aux(event, rb->aux_pages, nr_pages, overwrite); if (!rb->aux_priv) goto out;