perf report: Separate out idle threads
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Tue, 2 Jun 2009 19:02:36 +0000 (21:02 +0200)
committerIngo Molnar <mingo@elte.hu>
Tue, 2 Jun 2009 19:45:34 +0000 (21:45 +0200)
Introduce the special comm name [idle] for idle theads.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: John Kacur <jkacur@redhat.com>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Documentation/perf_counter/builtin-report.c

index 19c1e056bb665b165947d91c8851d0983bec07c0..6d68f3aa86b7ecf198b67c539b8b452d22d5fe63 100644 (file)
@@ -612,6 +612,17 @@ static size_t output__fprintf(FILE *fp, uint64_t total_samples)
        return ret;
 }
 
+static void register_idle_thread(void)
+{
+       struct thread *thread = threads__findnew(0);
+
+       if (thread == NULL ||
+                       thread__set_comm(thread, "[idle]")) {
+               fprintf(stderr, "problem inserting idle task.\n");
+               exit(-1);
+       }
+}
+
 
 static int __cmd_report(void)
 {
@@ -626,6 +637,8 @@ static int __cmd_report(void)
        char cwd[PATH_MAX], *cwdp = cwd;
        int cwdlen;
 
+       register_idle_thread();
+
        input = open(input_name, O_RDONLY);
        if (input < 0) {
                perror("failed to open file");