From: Arnaldo Carvalho de Melo <[email protected]>

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 <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Steven Noonan <[email protected]>
Cc: Wang Nan <[email protected]>
Link: http://lkml.kernel.org/n/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
 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 f84339cb7f95..afc9ad0a0515 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,
                },
-- 
2.5.0

Reply via email to