Messages in this thread Patch in this message | | | From | David Sharp <> | Subject | [PATCH 1/4] kernelshark: Fix bug with Plot CPU filtering | Date | Wed, 14 Nov 2012 17:51:11 -0800 |
| |
From: Venkatesh Pallipadi <venki@google.com>
Plot CPU filtering in kernelshark has the following bug: 1) Deselect CPU A from Plot CPU list 2) Plot gets updated with no CPU A 3) Deselect CPU B 4) Plot continues to have CPU B
This is due to a bug in graph_plot_cpus_update_callback(), which seems to be checking old_all_cpus != new_all_cpus before doing any update. This condition is true on 1, but false on 2. Removing that check fixes the problem.
Tested: Above sequence now does expected filtering.
Google-bug-id: 4258610 Signed-off-by: Venkatesh Pallipadi <venki@google.com> Signed-off-by: David Sharp <dhsharp@google.com> --- trace-plot-cpu.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/trace-plot-cpu.c b/trace-plot-cpu.c index 630d6c2..bb767d3 100644 --- a/trace-plot-cpu.c +++ b/trace-plot-cpu.c @@ -498,9 +498,8 @@ void graph_plot_cpus_update_callback(gboolean accept, /* Get the current status */ graph_plot_cpus_plotted(ginfo, &old_all_cpus, &old_cpu_mask); - if (old_all_cpus == all_cpus || - (selected_cpu_mask && - cpus_equal(old_cpu_mask, selected_cpu_mask, ginfo->cpus))) { + if (selected_cpu_mask && + cpus_equal(old_cpu_mask, selected_cpu_mask, ginfo->cpus)) { /* Nothing to do */ g_free(old_cpu_mask); return; -- 1.7.7.3
| |