[PATCH 1/4] kernelshark: Fix bug with Plot CPU filtering

From: David Sharp
Date: Wed Nov 14 2012 - 20:48:29 EST


From: Venkatesh Pallipadi <venki@xxxxxxxxxx>

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@xxxxxxxxxx>
Signed-off-by: David Sharp <dhsharp@xxxxxxxxxx>
---
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/