All of lore.kernel.org
 help / color / mirror / Atom feed
* [v5.0-rc6 regression] "perf/core: Don't WARN() for impossible ring-buffer sizes"
@ 2019-02-13 21:26 Mathieu Poirier
  2019-02-13 23:38 ` Leo Yan
  0 siblings, 1 reply; 2+ messages in thread
From: Mathieu Poirier @ 2019-02-13 21:26 UTC (permalink / raw)
  To: Mark Rutland, Peter Zijlstra, julien.thierry
  Cc: Alexander Shishkin, Leo Yan, Ingo Molnar, Coresight ML,
	Linux Kernel Mailing List

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [v5.0-rc6 regression] "perf/core: Don't WARN() for impossible ring-buffer sizes"
  2019-02-13 21:26 [v5.0-rc6 regression] "perf/core: Don't WARN() for impossible ring-buffer sizes" Mathieu Poirier
@ 2019-02-13 23:38 ` Leo Yan
  0 siblings, 0 replies; 2+ messages in thread
From: Leo Yan @ 2019-02-13 23:38 UTC (permalink / raw)
  To: Mathieu Poirier
  Cc: Mark Rutland, Peter Zijlstra, julien.thierry, Alexander Shishkin,
	Ingo Molnar, Coresight ML, Linux Kernel Mailing List

Hi Mathieu, Mark,

On Wed, Feb 13, 2019 at 02:26:25PM -0700, Mathieu Poirier wrote:
> 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.

I noticed in another thread [1] Peter gave out the fixing for this
issue; applied this fixing on my local code and it fixes CoreSight
tracing issue.

Thanks,
Leo Yan

[1] https://lkml.org/lkml/2019/2/12/452

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-02-13 23:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-13 21:26 [v5.0-rc6 regression] "perf/core: Don't WARN() for impossible ring-buffer sizes" Mathieu Poirier
2019-02-13 23:38 ` Leo Yan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.