From 2bbfa46a065dacaa069accf4748e3cf6769d6441 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Thu, 17 Sep 2009 19:59:05 +0200 Subject: [PATCH] --- yaml --- r: 163775 b: refs/heads/master c: 8b412664d0a487c2e16ac43f4fcede346df33254 h: refs/heads/master i: 163773: 8f7c3db856e72ee62b081601020caac69dcb01ac 163771: 36f480ebf2832ac83da4a5c9f2ccbef4ec99d7dd 163767: 1d46efc9e64ce7454a43663b71530546617e34a3 163759: 05f2e27da01c5ee00bd4903469cd3bd607db1504 163743: d64db90b4c2f3b10700df34c648a452fa9f70117 163711: cd5a55b328aa03db50f29a5b7283bef52f353b8d v: v3 --- [refs] | 2 +- trunk/tools/perf/builtin-record.c | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 8e0b100290b8..d55798467fc0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2667de81f3256c944b06abdf2c56c2f192fcb724 +refs/heads/master: 8b412664d0a487c2e16ac43f4fcede346df33254 diff --git a/trunk/tools/perf/builtin-record.c b/trunk/tools/perf/builtin-record.c index 5f3127e7a615..2459e5a22ed8 100644 --- a/trunk/tools/perf/builtin-record.c +++ b/trunk/tools/perf/builtin-record.c @@ -524,6 +524,7 @@ static int __cmd_record(int argc, const char **argv) pid_t pid = 0; int flags; int ret; + unsigned long waking = 0; page_size = sysconf(_SC_PAGE_SIZE); nr_cpus = sysconf(_SC_NPROCESSORS_ONLN); @@ -634,10 +635,20 @@ static int __cmd_record(int argc, const char **argv) if (hits == samples) { if (done) break; - ret = poll(event_array, nr_poll, 100); + ret = poll(event_array, nr_poll, -1); + waking++; + } + + if (done) { + for (i = 0; i < nr_cpu; i++) { + for (counter = 0; counter < nr_counters; counter++) + ioctl(fd[i][counter], PERF_COUNTER_IOC_DISABLE); + } } } + fprintf(stderr, "[ perf record: Woken up %ld times to write data ]\n", waking); + /* * Approximate RIP event size: 24 bytes. */