perf hists browser: Update the browser.nr_entries after the timer
authorArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 6 Oct 2011 13:56:05 +0000 (10:56 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 7 Oct 2011 20:01:11 +0000 (17:01 -0300)
Previously the hist_browser dealt with a static tree of entries, now it
needs to update the nr_entries in the browser after the timer runs.

A better solution will come when moving using another thread for the
collapse_resort, etc, but for now this is ok.

Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-9eno2iq55sjr4iyo899buzaw@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/ui/browsers/hists.c

index ef6ccef..e64d952 100644 (file)
@@ -332,6 +332,13 @@ static int hist_browser__run(struct hist_browser *self, const char *ev_name,
                case -1:
                        /* FIXME we need to check if it was es.reason == NEWT_EXIT_TIMER */
                        timer(arg);
+                       /*
+                        * The timer may have changed the number of entries.
+                        * XXX: Find better way to keep this in synch, probably
+                        * removing this timer function altogether and just sync
+                        * using the hists->lock...
+                        */
+                       self->b.nr_entries = self->hists->nr_entries;
                        hists__browser_title(self->hists, title, sizeof(title),
                                             ev_name, self->dso_filter,
                                             self->thread_filter);