Re: [patch v3] perf tools: perf list broken on ARM
Hi Vince, On Sat, 14 Dec 2013 15:25:18 -0500 (EST), Vince Weaver wrote: > OK, here's an updated version that reuses evsel and hopefully doesn't leak > memory like the previous patch I posted. > > > "perf list" listing of hardware events doesn't work on older ARM devices. > The change enabling event detection: > > commit b41f1cec91c37eeea6fdb15effbfa24ea0a5536b > Author: Namhyung Kim > Date: Tue Aug 27 11:41:53 2013 +0900 > > perf list: Skip unsupported events > > > uses the following code in tools/perf/util/parse-events.c: > > struct perf_event_attr attr = { > .type = type, > .config = config, > .disabled = 1, > .exclude_kernel = 1, > }; > > On ARM machines pre-dating the Cortex-A15 this doesn't work, as > these machines don't support .exclude_kernel. So starting with 3.12 > "perf list" does not report any hardware events at all on older > machines (seen on Rasp-Pi, Pandaboard, Beagleboard, etc). > > This version of the patch makes changes suggested by Namhyung Kim > to check for EACCESS and retry (instead of just dropping > the exclude_kernel) so we can properly handle machines where > /proc/sys/kernel/perf_event_paranoid is set to 2. > > Reported-by: Chad Paradis > Signed-off-by: Vince Weaver Acked-by: Namhyung Kim Thanks, Namhyung -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [patch v3] perf tools: perf list broken on ARM
Hi Vince, On Sat, 14 Dec 2013 15:25:18 -0500 (EST), Vince Weaver wrote: OK, here's an updated version that reuses evsel and hopefully doesn't leak memory like the previous patch I posted. perf list listing of hardware events doesn't work on older ARM devices. The change enabling event detection: commit b41f1cec91c37eeea6fdb15effbfa24ea0a5536b Author: Namhyung Kim namhyung@lge.com Date: Tue Aug 27 11:41:53 2013 +0900 perf list: Skip unsupported events uses the following code in tools/perf/util/parse-events.c: struct perf_event_attr attr = { .type = type, .config = config, .disabled = 1, .exclude_kernel = 1, }; On ARM machines pre-dating the Cortex-A15 this doesn't work, as these machines don't support .exclude_kernel. So starting with 3.12 perf list does not report any hardware events at all on older machines (seen on Rasp-Pi, Pandaboard, Beagleboard, etc). This version of the patch makes changes suggested by Namhyung Kim to check for EACCESS and retry (instead of just dropping the exclude_kernel) so we can properly handle machines where /proc/sys/kernel/perf_event_paranoid is set to 2. Reported-by: Chad Paradis chad.para...@umit.maine.edu Signed-off-by: Vince Weaver vincent.wea...@maine.edu Acked-by: Namhyung Kim namhy...@kernel.org Thanks, Namhyung -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/