We need to keep global number of 'waking' now.

TODO: make this multiple threads safe.

Link: http://lkml.kernel.org/n/tip-veetgk62aisdt1cxaa6fb...@git.kernel.org
Signed-off-by: Jiri Olsa <jo...@kernel.org>
---
 tools/perf/builtin-record.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index d6fef646b67f..62ff4411ce39 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -94,6 +94,7 @@ struct record {
        unsigned long long      samples;
        struct record_thread    *threads;
        int                     threads_cnt;
+       unsigned long           waking;
 };
 
 static __thread struct record_thread *thread;
@@ -1143,7 +1144,6 @@ static int __cmd_record(struct record *rec, int argc, 
const char **argv)
 {
        int err;
        int status = 0;
-       unsigned long waking = 0;
        const bool forks = argc > 0;
        struct perf_tool *tool = &rec->tool;
        struct record_opts *opts = &rec->opts;
@@ -1400,8 +1400,8 @@ static int __cmd_record(struct record *rec, int argc, 
const char **argv)
 
                        if (!quiet)
                                fprintf(stderr, "[ perf record: dump data: 
Woken up %ld times ]\n",
-                                       waking);
-                       waking = 0;
+                                       rec->waking);
+                       rec->waking = 0;
                        fd = record__switch_output(rec, false);
                        if (fd < 0) {
                                pr_err("Failed to switch to new file\n");
@@ -1425,7 +1425,7 @@ static int __cmd_record(struct record *rec, int argc, 
const char **argv)
                         */
                        if (err > 0 || (err < 0 && errno == EINTR))
                                err = 0;
-                       waking++;
+                       rec->waking++;
 
                        if (perf_evlist__filter_pollfd(rec->evlist, POLLERR | 
POLLHUP) == 0)
                                draining = true;
@@ -1454,7 +1454,7 @@ static int __cmd_record(struct record *rec, int argc, 
const char **argv)
        }
 
        if (!quiet)
-               fprintf(stderr, "[ perf record: Woken up %ld times to write 
data ]\n", waking);
+               fprintf(stderr, "[ perf record: Woken up %ld times to write 
data ]\n", rec->waking);
 
        if (target__none(&rec->opts.target))
                record__synthesize_workload(rec, true);
-- 
2.17.1

Reply via email to