From patchwork Mon Nov 30 02:14:41 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Poirier X-Patchwork-Id: 57410 Delivered-To: patch@linaro.org Received: by 10.112.155.196 with SMTP id vy4csp1179651lbb; Sun, 29 Nov 2015 18:17:38 -0800 (PST) X-Received: by 10.98.16.200 with SMTP id 69mr66906106pfq.98.1448849857287; Sun, 29 Nov 2015 18:17:37 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id wz5si6429476pab.68.2015.11.29.18.17.37; Sun, 29 Nov 2015 18:17:37 -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 S1753348AbbK3CRe (ORCPT + 28 others); Sun, 29 Nov 2015 21:17:34 -0500 Received: from mail-pa0-f46.google.com ([209.85.220.46]:33234 "EHLO mail-pa0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751836AbbK3CRa (ORCPT ); Sun, 29 Nov 2015 21:17:30 -0500 Received: by pabfh17 with SMTP id fh17so173124717pab.0 for ; Sun, 29 Nov 2015 18:17:30 -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=frq8AxqWDoNHXrePUO+vcbXDAl3gH2zKPYb3MVuv3DQ=; b=f1viP78DbeTuT4e3fgMK6XZNwJnSwc2SzR3Kc+C0LoYarFowPAoFeLdVwLgfx75AbK 1H5gSfb0XAkpRAdHXOfZ6h6A+ZhOVl60pge1lS5Lz0P7hKjzFKFTRGOK6DEEZCajD7eG uEm7RG3mUkrAzqNJXY6obf+NcKFIPd2ITPjR2YgCY1h/tMnZ76glUqDQHxO/r/3LtRYd hXaCgjjBK1C4Y/5tezqf/baGydx5olywYUHEs+qqQvjqAEAvHLY3hsketaNJ9FZ05SFK K79Pj7UT/7eXrDMBt1u06Y+Bbf366bG3hwmSTFEsOZP+a15EBxxfDve9DVrHXExlJPEY Qm2Q== 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=frq8AxqWDoNHXrePUO+vcbXDAl3gH2zKPYb3MVuv3DQ=; b=LrhhkIyb8bT1Xv7ix2bYqE0VSGlaiL3H5+xcuJ7vUatlsSvDZbiIHBZaF488ANIdo4 gvcIWpS5uZ5cJZVpN3GV3uvAn7i7Je8OhtogVRZ4bTkCCwOkF3tq8LH/30LoKOva6xEP y14sBZ900XMwr0vdAUsLDj6d0gX6in4svKM1hT3TPRbL+UchhzglAWAbUxDlzLRR7aLf C5BUpdVrGPRpFeDgswK9qoZRH+18k6lSi1KMTdvrNsNLasec11jtRgSln/46NQVzh4ok xYJQ+X6d2pi843Ojcf593o4ZlWHiCptFSPeWR59KwRCC+H8G4WGRYLHfm6Knq5DpRN6D kXxw== X-Gm-Message-State: ALoCoQkJPRLwoQ6X95BeWUe/g19WCFsfTBRoIvVOwLArftzZGut+RU0fNYA0Jy5+5sO8c+bnJX4I X-Received: by 10.98.72.71 with SMTP id v68mr67796472pfa.40.1448849850255; Sun, 29 Nov 2015 18:17:30 -0800 (PST) Received: from t430.cg.shawcable.net ([184.64.168.246]) by smtp.gmail.com with ESMTPSA id n16sm47168818pfa.53.2015.11.29.18.17.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 29 Nov 2015 18:17:29 -0800 (PST) From: Mathieu Poirier To: gregkh@linuxfoundation.org, alexander.shishkin@linux.intel.com Cc: 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 , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo Subject: [PATCH V5 20/26] perf: changing pmu::setup_aux() parameter to include event Date: Sun, 29 Nov 2015 19:14:41 -0700 Message-Id: <1448849687-5724-21-git-send-email-mathieu.poirier@linaro.org> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1448849687-5724-1-git-send-email-mathieu.poirier@linaro.org> References: <1448849687-5724-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. Cc: Peter Zijlstra Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo 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(-) -- 2.1.4 -- 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 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;