[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tip-26ae4f4406f88d82d79c85c11ac5fae18213cd38@git.kernel.org>
Date: Fri, 3 May 2019 03:49:18 -0700
From: tip-bot for Alexander Shishkin <tipbot@...or.com>
To: linux-tip-commits@...r.kernel.org
Cc: eranian@...gle.com, acme@...hat.com, mingo@...nel.org,
tglx@...utronix.de, vincent.weaver@...ne.edu, ammy.yi@...el.com,
a.p.zijlstra@...llo.nl, hpa@...or.com,
alexander.shishkin@...ux.intel.com, torvalds@...ux-foundation.org,
linux-kernel@...r.kernel.org, jolsa@...hat.com
Subject: [tip:perf/urgent] perf/ring_buffer: Fix AUX software double
buffering
Commit-ID: 26ae4f4406f88d82d79c85c11ac5fae18213cd38
Gitweb: https://git.kernel.org/tip/26ae4f4406f88d82d79c85c11ac5fae18213cd38
Author: Alexander Shishkin <alexander.shishkin@...ux.intel.com>
AuthorDate: Fri, 3 May 2019 11:55:35 +0300
Committer: Ingo Molnar <mingo@...nel.org>
CommitDate: Fri, 3 May 2019 12:46:10 +0200
perf/ring_buffer: Fix AUX software double buffering
This recent commit:
5768402fd9c6e87 ("perf/ring_buffer: Use high order allocations for AUX buffers optimistically")
overlooked the fact that the previous one page granularity of the AUX buffer
provided an implicit double buffering capability to the PMU driver, which
went away when the entire buffer became one high-order page.
Always make the full-trace mode AUX allocation at least two-part to preserve
the previous behavior and allow the implicit double buffering to continue.
Reported-by: Ammy Yi <ammy.yi@...el.com>
Signed-off-by: Alexander Shishkin <alexander.shishkin@...ux.intel.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@...llo.nl>
Cc: Arnaldo Carvalho de Melo <acme@...hat.com>
Cc: Jiri Olsa <jolsa@...hat.com>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Stephane Eranian <eranian@...gle.com>
Cc: Thomas Gleixner <tglx@...utronix.de>
Cc: Vince Weaver <vincent.weaver@...ne.edu>
Cc: adrian.hunter@...el.com
Fixes: 5768402fd9c6e87 ("perf/ring_buffer: Use high order allocations for AUX buffers optimistically")
Link: http://lkml.kernel.org/r/20190503085536.24119-2-alexander.shishkin@linux.intel.com
Signed-off-by: Ingo Molnar <mingo@...nel.org>
---
kernel/events/ring_buffer.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/kernel/events/ring_buffer.c b/kernel/events/ring_buffer.c
index 5eedb49a65ea..674b35383491 100644
--- a/kernel/events/ring_buffer.c
+++ b/kernel/events/ring_buffer.c
@@ -610,8 +610,7 @@ int rb_alloc_aux(struct ring_buffer *rb, struct perf_event *event,
* PMU requests more than one contiguous chunks of memory
* for SW double buffering
*/
- if ((event->pmu->capabilities & PERF_PMU_CAP_AUX_SW_DOUBLEBUF) &&
- !overwrite) {
+ if (!overwrite) {
if (!max_order)
return -EINVAL;
Powered by blists - more mailing lists