[tip:perfcounters/core] perf sched: Determine the number of CPUs automatically

From: tip-bot for Ingo Molnar
Date: Thu Sep 17 2009 - 16:14:10 EST


Commit-ID: 40749d0ff49f99c3661b336fe5e5625207bd925a
Gitweb: http://git.kernel.org/tip/40749d0ff49f99c3661b336fe5e5625207bd925a
Author: Ingo Molnar <mingo@xxxxxxx>
AuthorDate: Thu, 17 Sep 2009 18:24:55 +0200
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Thu, 17 Sep 2009 22:09:19 +0200

perf sched: Determine the number of CPUs automatically

For 'perf sched map' output, determine max_cpu automatically,
instead of the static default of 15.

[ v2: use sysconf() pointed out by Arjan van de Ven <arjan@xxxxxxxxxxxxx> ]

Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>


---
tools/perf/builtin-sched.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
index f67e351..9e04827 100644
--- a/tools/perf/builtin-sched.c
+++ b/tools/perf/builtin-sched.c
@@ -1347,7 +1347,7 @@ process_sched_wakeup_event(struct raw_event_sample *raw,
* Track the current task - that way we can know whether there's any
* weird events, such as a task being switched away that is not current.
*/
-static int max_cpu = 15;
+static int max_cpu;

static u32 curr_pid[MAX_CPUS] = { [0 ... MAX_CPUS-1] = -1 };

@@ -1818,6 +1818,8 @@ static struct trace_sched_handler map_ops = {

static void __cmd_map(void)
{
+ max_cpu = sysconf(_SC_NPROCESSORS_CONF);
+
setup_pager();
read_events();
print_bad_events();
--
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/