From: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
To: "Török Edwin" <edwintorok@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
Paul Mackerras <paulus@samba.org>, Ingo Molnar <mingo@elte.hu>,
Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: Unable to use tools/perf sched and timechart correctly
Date: Sun, 06 Dec 2009 18:41:42 +0800 [thread overview]
Message-ID: <4B1B8A66.6040302@cn.fujitsu.com> (raw)
In-Reply-To: <4B18E2AD.3070507@gmail.com>
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
next prev parent reply other threads:[~2009-12-06 10:43 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-04 10:21 Unable to use tools/perf sched and timechart correctly Török Edwin
2009-12-06 10:41 ` Xiao Guangrong [this message]
2009-12-06 10:55 ` Peter Zijlstra
2009-12-06 12:52 ` Török Edwin
2009-12-06 17:16 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B1B8A66.6040302@cn.fujitsu.com \
--to=xiaoguangrong@cn.fujitsu.com \
--cc=a.p.zijlstra@chello.nl \
--cc=edwintorok@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.