perf python: Initialize 'page_size' variable
authorArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 16 Oct 2012 17:51:04 +0000 (14:51 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 29 Oct 2012 14:36:46 +0000 (12:36 -0200)
The commit 0c1fe6b:

 'perf tools: Have the page size value available for all tools'

Broke the python binding because the global variable 'page_size' is
initialized on the main() routine, that is not called when using
just the python binding, causing evlist.mmap() to fail because it
expects that variable to be initialized to the system's page size.

Fix it by initializing it on the binding init routine.

Reported-by: David Ahern <dsahern@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-vrvp3azmbfzexnpmkhmvtzzc@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/python.c

index 9181bf212fb99640e01987a3604131c990553d04..a2657fd96837837566af611c421c1fdd4eccb6ca 100644 (file)
@@ -1015,6 +1015,8 @@ PyMODINIT_FUNC initperf(void)
            pyrf_cpu_map__setup_types() < 0)
                return;
 
+       page_size = sysconf(_SC_PAGE_SIZE);
+
        Py_INCREF(&pyrf_evlist__type);
        PyModule_AddObject(module, "evlist", (PyObject*)&pyrf_evlist__type);