From patchwork Thu Dec 3 21:04:56 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Poirier X-Patchwork-Id: 7763631 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 9A1CDBEEE1 for ; Thu, 3 Dec 2015 21:17:33 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id AFED420503 for ; Thu, 3 Dec 2015 21:17:32 +0000 (UTC) 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.kernel.org (Postfix) with ESMTPS id C085020502 for ; Thu, 3 Dec 2015 21:17:31 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1a4bDq-00074G-UH; Thu, 03 Dec 2015 21:15:26 +0000 Received: from mail-io0-x22e.google.com ([2607:f8b0:4001:c06::22e]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1a4b4z-0004YZ-97 for linux-arm-kernel@lists.infradead.org; Thu, 03 Dec 2015 21:06:22 +0000 Received: by ioir85 with SMTP id r85so95118668ioi.1 for ; Thu, 03 Dec 2015 13:05:56 -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=MnXA5BoOi9RYKscOXC+DPUXZmvjAz6qJ/gXFY+n+TXA=; b=ETif7SK6sLO2sVhV6eNpDrfIozsonqG8E6MoufP5aUbx7OUhHLh6qG64uOOMwsBG1d XDCaPGAw2GpOHIGpviSDRuzKgV2Xf+qbJChG3aZAX7WkeuQny7BFTWtoi46MBuGuyG3C l3DOQr59cQxjZyeKdkko1j/YtlN+Bykajl9KGBgoLnLxGCQmRVGWew2ioPM1gFGcP7tP ifYMfuZYxtOnUsuY61dLvH0ggixBCdA+6nASwXrOmSbhQ7o3FmHx8CbSMsnCNDjTOhCH u9OtRaUBVzlcjt4I6FvLNjEPu6mlFeBxX2eE0XK+VjKuG1pTpEoVtlwIQQ3sIRFIcLBo TaiA== 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=MnXA5BoOi9RYKscOXC+DPUXZmvjAz6qJ/gXFY+n+TXA=; b=joBi10MIBio5pJIGEXzoszTeUx2JgkZ44h0wj147m665NlUQVGyq6lo8GgC48TtwpM GRN0PoHxfUo15W0x1CasHxnuG9UF0DthIKRBxqEdVZrFyHm9CNbO5wN114PlimPTQl/A S/513yeYBfqad+mCZF1zah2av9dVImbh2A2JZLiveoUV0NDXKeOxNcUGDvkibUX1qGxT F6fShB+DkT/tUD8lV/KLNVHYiiJ74TKtXyXhWctNK8+ETue40zHniZ1f1cVMGGeF0RS0 V0aWaw9V3oVCA9FOUYEzXCwV/R/slc2sR0gvZrIPG1z8w8HB6zwCmbqdE0f0fC7HOtjy yFiA== X-Gm-Message-State: ALoCoQnuidIUDCXf9wAjRUXpoLn1Kv5ni9BfSGgck9Kp4d5gBTm6eCgHaHB2TsbY+hVHxw8B0Y1i X-Received: by 10.107.16.18 with SMTP id y18mr11131090ioi.113.1449176756744; Thu, 03 Dec 2015 13:05:56 -0800 (PST) Received: from t430.cg.shawcable.net (S0106002369de4dac.cg.shawcable.net. [184.64.168.246]) by smtp.gmail.com with ESMTPSA id d81sm3615433ioj.12.2015.12.03.13.05.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 03 Dec 2015 13:05:56 -0800 (PST) From: Mathieu Poirier To: gregkh@linuxfoundation.org, alexander.shishkin@linux.intel.com Subject: [PATCH V6 20/26] perf: changing pmu::setup_aux() parameter to include event Date: Thu, 3 Dec 2015 14:04:56 -0700 Message-Id: <1449176702-13213-21-git-send-email-mathieu.poirier@linaro.org> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1449176702-13213-1-git-send-email-mathieu.poirier@linaro.org> References: <1449176702-13213-1-git-send-email-mathieu.poirier@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20151203_130617_513293_1E52418B X-CRM114-Status: GOOD ( 14.80 ) X-Spam-Score: -2.6 (--) 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: al.grant@arm.com, Peter Zijlstra , Mathieu Poirier , linux-doc@vger.kernel.org, fainelli@broadcom.com, linux-kernel@vger.kernel.org, Arnaldo Carvalho de Melo , tor@ti.com, Ingo Molnar , mike.leach@arm.com, zhang.chunyan@linaro.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-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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. Cc: Peter Zijlstra Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo Cc: Alexander Shishkin 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(-) diff --git a/arch/x86/kernel/cpu/perf_event_intel_bts.c b/arch/x86/kernel/cpu/perf_event_intel_bts.c index 2cad71d1b14c..4bb5bdc092f5 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 868e1194337f..ba8077cbc755 100644 --- a/arch/x86/kernel/cpu/perf_event_intel_pt.c +++ b/arch/x86/kernel/cpu/perf_event_intel_pt.c @@ -860,10 +860,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 d841d33bcdc9..da02d4a0baa2 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h @@ -378,7 +378,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 b5d1ea79c595..b1316d12bb40 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;