lkml.org 
[lkml]   [2019]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
Subject[v5.0-rc6 regression] "perf/core: Don't WARN() for impossible ring-buffer sizes"
Hi Mark,

CoreSight trace collection is broken on v5.0-rc6 due to this commit:

9dff0aa95a32 perf/core: Don't WARN() for impossible ring-buffer sizes

Before:
root@juno:/home/linaro# perf record -e cs_etm/@20070000.etr/u
--per-thread uname
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.036 MB perf.data ]
root@juno:/home/linaro#

After:
root@juno:/home/linaro# perf record -e cs_etm/@20070000.etr/u
--per-thread uname
failed to mmap with 12 (Cannot allocate memory)
root@juno:/home/linaro#

The problem is related to the order_base_2() [1] test with a size of
1264, stemming from nr_pages equal to 128. The combination yields an
order of 11, something leading directly to the error path.

The results are the same with linux-next 20190213. This was tested on
a Juno R0 and R1 with a 4K page configuration. I haven't tried but
I'm pretty sure it breaks IntelPT as well.

Please have a look when you have a minute. Leo Yan and I will be
happy to test patches.

Thanks,
Mathieu

[1]. https://elixir.bootlin.com/linux/v5.0-rc6/source/kernel/events/ring_buffer.c#L737

\
 
 \ /
  Last update: 2019-02-13 22:27    [W:0.037 / U:0.328 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site