From: Venkatesh Pallipadi <ve...@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 <ve...@google.com>
Signed-off-by: David Sharp <dhsh...@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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to