[tip:perf/core] perf test: Reduce the sample_freq for the ' object code reading' test

From: tip-bot for Arnaldo Carvalho de Melo
Date: Sat Feb 20 2016 - 06:35:42 EST


Commit-ID: 5243ba76a585a6481c4d7b931e7e3d98900cbdbe
Gitweb: http://git.kernel.org/tip/5243ba76a585a6481c4d7b931e7e3d98900cbdbe
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
AuthorDate: Thu, 18 Feb 2016 13:45:25 -0300
Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
CommitDate: Fri, 19 Feb 2016 19:12:44 -0300

perf test: Reduce the sample_freq for the 'object code reading' test

Using 4 kHz is not necessary and sometimes is more than what was
auto-tuned:

# dmesg | grep max_sample_rate | tail -2
[ 2499.144373] perf interrupt took too long (2501 > 2500), lowering kernel.perf_event_max_sample_rate to 50000
[ 3592.413606] perf interrupt took too long (5069 > 5000), lowering kernel.perf_event_max_sample_rate to 25000

Simulating a auto-tune of 2000 we make the test fail, as reported
by Steven Noonan for one of his machines, so reduce it to 500 HZ,
it is enough to get a good number of samples for this test:

# perf test -v 21 2>&1 | grep '^Reading object code for memory address' | tee /tmp/out | tail -5
Reading object code for memory address: 0x479f40
Reading object code for memory address: 0x7f29b7eea80d
Reading object code for memory address: 0x7f29b7eea80d
Reading object code for memory address: 0x7f29b7eea800
Reading object code for memory address: 0xffffffff813b2f23
[root@jouet ~]# wc -l /tmp/out
40 /tmp/out
[root@jouet ~]#

For systems that auto-tune below that, the previous patches will tell the
user what is happening so that he may either ignore the result of this test or
bump /proc/sys/kernel/perf_event_max_sample_rate.

Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Steven Noonan <steven@xxxxxxxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link: http://lkml.kernel.org/n/tip-6kufyy1iprdfzrbtuqgxir70@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/tests/code-reading.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/tests/code-reading.c b/tools/perf/tests/code-reading.c
index f84339c..afc9ad0 100644
--- a/tools/perf/tests/code-reading.c
+++ b/tools/perf/tests/code-reading.c
@@ -439,7 +439,7 @@ static int do_test_code_reading(bool try_kcore)
.mmap_pages = UINT_MAX,
.user_freq = UINT_MAX,
.user_interval = ULLONG_MAX,
- .freq = 4000,
+ .freq = 500,
.target = {
.uses_mmap = true,
},