Messages in this thread Patch in this message | | | Date | Sun, 06 Dec 2009 18:41:42 +0800 | From | Xiao Guangrong <> | Subject | Re: Unable to use tools/perf sched and timechart correctly |
| |
Török Edwin wrote: > Hi, > > I installed 2.6.32 and tried its tools/perf. > I noticed two problems so far, please tell me if I am doing anything > wrong here: > > 1. 'perf sched replay' segfaults on any recorded workload > I tested like this: > $ sudo ./perf sched record > ^C[ perf record: Woken up 1 times to write data ] > [ perf record: Captured and wrote 0.295 MB perf.data (~12869 samples) ] > $ sudo perf sched replay > run measurement overhead: 1258 nsecs > sleep measurement overhead: 55232 nsecs > the run test took 999778 nsecs > the sleep test took 1055791 nsecs > nr_run_events: 182 > nr_sleep_events: 209 > nr_wakeup_events: 103 > target-less wakeups: 12 > [...] > task 25 ( icedove-bin: 8757), nr_events: 3 > task 26 ( events/0: 15), nr_events: 3 > ------------------------------------------------------------ > Segmentation fault
You should enable "CONFIG_SCHED_DEBUG", because we use "/proc/<pid>/sched" file to get the task's cpu usage.
Ingo, I think we do better show the reason about this error, just like:
--- tools/perf/builtin-sched.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c index 26b782f..f823631 100644 --- a/tools/perf/builtin-sched.c +++ b/tools/perf/builtin-sched.c @@ -427,7 +427,11 @@ static u64 get_cpu_usage_nsec_self(void) sprintf(filename, "/proc/%d/sched", getpid()); file = fopen(filename, "r"); - BUG_ON(!file); + if (!file) + { + printf("You should compile your kernel with CONFIG_SCHED_DEBUG option\n"); + BUG_ON(1); + } while ((chars = getline(&line, &len, file)) != -1) { ret = sscanf(line, "se.sum_exec_runtime : %ld.%06ld\n", -- 1.6.1.2 Thanks, Xiao -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |