From: Mike Galbraith on 21 Jan 2010 00:50 Greetings Arnaldo, ------------------------------------------------------------------------------------------------------------------------------ PerfTop: 670 irqs/sec kernel:14.6% [1000Hz cycles], (all, cpu: 3) ------------------------------------------------------------------------------------------------------------------------------ samples pcnt function DSO _______ _____ ___________________ ________________________________________________________________ 12535.00 82.1% main /root/bin/pert 302.00 2.0% clear_page_c [kernel.kallsyms] 169.00 1.1% _int_malloc /lib64/libc-2.9.so 168.00 1.1% page_fault [kernel.kallsyms] 138.00 0.9% yylex /usr/local/src/kernel/linux-2.6.33.git/scripts/genksyms/genksyms 121.00 0.8% __GI_memset /lib64/libc-2.9.so 117.00 0.8% copy_page_c [kernel.kallsyms] 96.00 0.6% _raw_spin_lock [kernel.kallsyms] 79.00 0.5% use_config /usr/local/src/kernel/linux-2.6.33.git/scripts/basic/fixdep If only 100% userland hog (pert) is running, I see the expected 1KHz irqs/sec. As soon as I start a kbuild with it, irqs/sec drops, though NMIs are indeed happening at 1KHz. Bisection points to 5b2bb75 perf top: Support userspace symbols too. -Mike -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Mike Galbraith on 21 Jan 2010 01:10 Yup, definitely a booboo in there somewhere. Step 1. oinker running, perf top -C 3 -z ------------------------------------------------------------------------------------------------------------------------------ PerfTop: 1001 irqs/sec kernel: 0.0% [1000Hz cycles], (all, cpu: 3) ------------------------------------------------------------------------------------------------------------------------------ samples pcnt func DSO _______ _____ ____ ______________ 2003.00 100.0% main /root/bin/pert perfect (off by one is beauty mark, not wart;) Step 2. taskset -c 3 ./massive_intr 3 999 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ P COMMAND 7133 root 20 0 7928 232 128 R 25 0.0 0:09.68 3 massive_intr 7134 root 20 0 7928 232 128 R 25 0.0 0:09.68 3 massive_intr 25932 root 20 0 7920 584 476 R 25 0.0 42:03.07 3 pert 7132 root 20 0 7928 232 128 R 25 0.0 0:09.68 3 massive_intr ------------------------------------------------------------------------------------------------------------------------------ PerfTop: 252 irqs/sec kernel: 0.8% [1000Hz cycles], (all, cpu: 3) ------------------------------------------------------------------------------------------------------------------------------ samples pcnt func DSO _______ _____ ____ ______________ 500.00 99.2% main /root/bin/pert massive_intr appeared briefly, then poof, gone (likely when it forked off worker-bees), leaving this. -Mike -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Arnaldo Carvalho de Melo on 21 Jan 2010 07:30 Em Thu, Jan 21, 2010 at 06:42:08AM +0100, Mike Galbraith escreveu: > Greetings Arnaldo, > > ------------------------------------------------------------------------------------------------------------------------------ > PerfTop: 670 irqs/sec kernel:14.6% [1000Hz cycles], (all, cpu: 3) > ------------------------------------------------------------------------------------------------------------------------------ > > samples pcnt function DSO > _______ _____ ___________________ ________________________________________________________________ > > 12535.00 82.1% main /root/bin/pert > 302.00 2.0% clear_page_c [kernel.kallsyms] > 169.00 1.1% _int_malloc /lib64/libc-2.9.so > 168.00 1.1% page_fault [kernel.kallsyms] > 138.00 0.9% yylex /usr/local/src/kernel/linux-2.6.33.git/scripts/genksyms/genksyms > 121.00 0.8% __GI_memset /lib64/libc-2.9.so > 117.00 0.8% copy_page_c [kernel.kallsyms] > 96.00 0.6% _raw_spin_lock [kernel.kallsyms] > 79.00 0.5% use_config /usr/local/src/kernel/linux-2.6.33.git/scripts/basic/fixdep > > If only 100% userland hog (pert) is running, I see the expected 1KHz > irqs/sec. As soon as I start a kbuild with it, irqs/sec drops, though > NMIs are indeed happening at 1KHz. > > Bisection points to 5b2bb75 perf top: Support userspace symbols too. Can you check if this one helps? - Arnaldo diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c index 7a8a77e..8b04988 100644 --- a/tools/perf/builtin-top.c +++ b/tools/perf/builtin-top.c @@ -934,8 +934,11 @@ static void event__process_sample(const event_t *self, struct addr_location al; u8 origin = self->header.misc & PERF_RECORD_MISC_CPUMODE_MASK; + ++samples; + switch (origin) { case PERF_RECORD_MISC_USER: + ++userspace_samples; if (hide_user_symbols) return; break; @@ -960,9 +963,6 @@ static void event__process_sample(const event_t *self, if (list_empty(&syme->node) || !syme->node.next) __list_insert_active_sym(syme); pthread_mutex_unlock(&active_symbols_lock); - if (origin == PERF_RECORD_MISC_USER) - ++userspace_samples; - ++samples; } } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Mike Galbraith on 21 Jan 2010 09:30 On Thu, 2010-01-21 at 10:22 -0200, Arnaldo Carvalho de Melo wrote: > Can you check if this one helps? Made interrupt count correct, but symbols aren't mapped after the task forks it seems. At least, in event__preprocess_sample(), after thread__find_addr_location(), al->map is NULL a LOT. -Mike -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Arnaldo Carvalho de Melo on 21 Jan 2010 09:50 Em Thu, Jan 21, 2010 at 03:28:32PM +0100, Mike Galbraith escreveu: > On Thu, 2010-01-21 at 10:22 -0200, Arnaldo Carvalho de Melo wrote: > > > Can you check if this one helps? > > Made interrupt count correct, but symbols aren't mapped after the task > forks it seems. At least, in event__preprocess_sample(), after > thread__find_addr_location(), al->map is NULL a LOT. Try this one on top of the previous one: diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c index 8b04988..2227b84 100644 --- a/tools/perf/builtin-top.c +++ b/tools/perf/builtin-top.c @@ -975,6 +975,10 @@ static int event__process(event_t *event, struct perf_session *session) case PERF_RECORD_MMAP: event__process_mmap(event, session); break; + case PERF_RECORD_FORK: + case PERF_RECORD_EXIT: + event__process_task(event, session); + break; default: break; } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|
Next
|
Last
Pages: 1 2 Prev: Heute noch Geld verdienen? Next: oom-kill: add lowmem usage aware oom kill handling |