File perf-c2c-fix-c2c-report-for-empty-numa-node.patch of Package perf.12035

From: Jiri Olsa <jolsa@redhat.com>
Date: Tue, 5 Mar 2019 16:25:29 +0100
Subject: perf c2c: Fix c2c report for empty numa node
Git-commit: e34c940245437f36d2c492edd1f8237eff391064
Patch-mainline: v5.1-rc1
References: bsc#1127191
Signed-off-by: Tony Jones <tonyj@suse.de>

    perf c2c: Fix c2c report for empty numa node
    
    Ravi Bangoria reported that we fail with an empty NUMA node with the
    following message:
    
      $ lscpu
      NUMA node0 CPU(s):
      NUMA node1 CPU(s):   0-4
    
      $ sudo ./perf c2c report
      node/cpu topology bugFailed setup nodes
    
    Fix this by detecting the empty node and keeping its CPU set empty.
    
    Reported-by: Nageswara R Sastry <nasastry@in.ibm.com>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Tested-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jonas Rabenstein <jonas.rabenstein@studium.uni-erlangen.de>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20190305152536.21035-2-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
index 4272763a5e96..9e6cc868bdb4 100644
--- a/tools/perf/builtin-c2c.c
+++ b/tools/perf/builtin-c2c.c
@@ -2056,6 +2056,12 @@ static int setup_nodes(struct perf_session *session)
 		if (!set)
 			return -ENOMEM;
 
+		nodes[node] = set;
+
+		/* empty node, skip */
+		if (cpu_map__empty(map))
+			continue;
+
 		for (cpu = 0; cpu < map->nr; cpu++) {
 			set_bit(map->map[cpu], set);
 
@@ -2064,8 +2070,6 @@ static int setup_nodes(struct perf_session *session)
 
 			cpu2node[map->map[cpu]] = node;
 		}
-
-		nodes[node] = set;
 	}
 
 	setup_nodes_header();

openSUSE Build Service is sponsored by