[request for stable inclusion] perf kmem: Make it work again on non NUMA machines

From: zhangzhiqiang
Date: Fri Sep 26 2014 - 03:04:46 EST


hi all,

Now on non NUMA machines with 3.10 stable,perf kmem command does not work well. For instance,
when exec perf kmem record sleep 2, we can get the perf.data file correctly. but when we exec
perf kmem stat there is nothing return.
In upstream the bug has been fixed and perf kmem work well on non NUMA machines.

Can we cherry-pick it to stable repo.

The commit id is 4921e320244e099bdf237fd10428594ce5f5b87d,the detail as follows:

commit 4921e320244e099bdf237fd10428594ce5f5b87d
Author: Jiri Olsa <jolsa@xxxxxxxxxx>
Date: Thu Sep 12 18:39:36 2013 +0200

perf kmem: Make it work again on non NUMA machines

The commit '2814eb0 perf kmem: Remove die() calls' disabled 'perf kmem'
command for machines without numa support. It made the command fail if
'/sys/devices/system/node' dir wasn't found.

Skipping the numa based initialization in case the directory is not
found and continue execution.

Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Link: http://lkml.kernel.org/r/1379003976-5839-5-git-send-email-jolsa@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

diff --git a/tools/perf/builtin-kmem.c b/tools/perf/builtin-kmem.c
index c2dff9c..9b5f077 100644
--- a/tools/perf/builtin-kmem.c
+++ b/tools/perf/builtin-kmem.c
@@ -101,7 +101,7 @@ static int setup_cpunode_map(void)

dir1 = opendir(PATH_SYS_NODE);
if (!dir1)
- return -1;
+ return 0;

while ((dent1 = readdir(dir1)) != NULL) {
if (dent1->d_type != DT_DIR ||



--
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/