Arnaldo Carvalho de Melo
03f6316d32
perf report: Only load text symbols from kallsyms
...
Just like we do for userspace when reading the symtab, reducing the
number of entries we insert on the symbols rbtree.
Before:
[acme@emilia ~]$ rm -f perf_report.perf ; perf record -o perf_report.perf perf stat perf report > /dev/null
Performance counter stats for 'perf':
218.138382 task clock ticks (msecs)
4 context switches (events)
8 CPU migrations (events)
2136 pagefaults (events)
32746212 CPU cycles (events) (scaled from 67.04%)
11961102 instructions (events) (scaled from 66.19%)
49841 cache references (events) (scaled from 21.96%)
13777 cache misses (events) (scaled from 21.98%)
Wall-clock time elapsed: 218.702477 msecs
[acme@emilia ~]$ perf report -i perf_report.perf | head
11.06 perf [.] 0x00000000000057cb /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__find_symbol
9.15 perf [.] 0x00000000000056a0 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__insert_symbol
8.72 perf [k] 0xffffffff8101b1d2 intel_pmu_enable_all
8.51 perf [.] 0x0000000000006672 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: thread__symbol_incnew
3.83 perf [k] 0xffffffff811cfc5a vsnprintf
3.40 perf [.] 0x0000000000005e33 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex
3.40 perf [.] 0x0000000000005ec7 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex2long
3.19 perf [k] 0xffffffff811ce1c1 number
2.77 perf [.] 0x0000000000006869 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: threads__findnew
2.77 perf [.] 0x000000000000fde3 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: rb_insert_color
[acme@emilia ~]$
After:
acme@emilia ~]$ rm -f perf_report.perf ; perf record -o perf_report.perf perf stat perf report > /dev/null
Performance counter stats for 'perf':
190.228511 task clock ticks (msecs)
4 context switches (events)
7 CPU migrations (events)
1625 pagefaults (events)
29578745 CPU cycles (events) (scaled from 66.92%)
10516914 instructions (events) (scaled from 66.47%)
44015 cache references (events) (scaled from 22.04%)
8248 cache misses (events) (scaled from 22.07%)
Wall-clock time elapsed: 190.816096 msecs
[acme@emilia ~]$ perf report -i perf_report.perf | head
15.99 perf [.] 0x00000000000057a9 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__find_symbol
10.87 perf [.] 0x000000000000674d /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: thread__symbol_incnew
8.74 perf [k] 0xffffffff8101b1d2 intel_pmu_enable_all
5.54 perf [.] 0x0000000000005e42 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex
4.48 perf [.] 0x0000000000005ebe /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex2long
4.48 perf [k] 0xffffffff811cfba0 vsnprintf
3.84 perf [.] 0x00000000000056b4 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__insert_symbol
3.62 perf [.] 0x00000000000068d0 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: threads__findnew
3.20 perf [k] 0xffffffff811ce0b3 number
2.56 perf [.] 0x0000000000006d78 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: __cmd_report
[acme@emilia ~]$
[ Impact: optimization ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: 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: John Kacur <jkacur@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <20090526222155.GJ4424@ghostprotocols.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-05-27 09:10:36 +02:00
..
2009-04-21 00:35:47 -04:00
2009-01-15 16:39:37 -08:00
2008-11-07 21:45:29 -05:00
2008-02-08 09:22:31 -08:00
2009-03-26 22:44:43 +00:00
2008-10-30 11:38:45 -07:00
2009-01-07 23:14:38 +08:00
2009-04-15 08:28:11 +02:00
2009-04-07 08:12:38 +02:00
2008-10-10 08:22:44 +02:00
2009-04-13 15:04:33 -07:00
2009-02-12 16:47:01 -08:00
2007-07-19 10:04:47 -07:00
2009-02-24 22:47:31 -05:00
2008-02-14 00:16:13 -05:00
2008-10-16 11:21:30 -07:00
2009-01-05 18:10:19 -07:00
2009-01-08 16:32:13 -07:00
2008-04-25 13:27:03 +01:00
2009-05-15 07:56:25 -05:00
2009-04-16 16:17:10 -07:00
2009-03-30 12:43:31 -03:00
2008-04-21 22:19:05 +00:00
2007-07-16 09:05:45 -07:00
2009-04-07 08:31:09 -07:00
2009-05-02 15:36:09 -07:00
2008-04-21 22:23:30 +00:00
2008-02-03 15:54:28 +02:00
2009-04-07 08:31:03 -07:00
2009-03-30 21:46:43 +02:00
2007-05-09 08:58:19 +02:00
2009-03-30 15:21:59 +02:00
2009-01-06 17:21:00 +01:00
2009-04-08 13:52:01 -07:00
2009-04-30 10:41:39 -07:00
2009-03-30 12:43:15 -03:00
2009-04-27 05:37:39 -07:00
2009-01-28 15:55:48 -08:00
2009-04-19 11:12:12 +02:00
2008-10-22 15:01:22 +11:00
2007-12-17 10:33:19 -08:00
2009-04-18 01:19:54 -04:00
2009-04-19 23:14:02 +09:30
2008-01-11 18:22:30 -06:00
2007-10-17 08:43:05 -07:00
2009-01-14 19:19:03 +01:00
2009-04-01 08:59:18 -07:00
2008-02-08 09:22:30 -08:00
2008-08-16 10:55:33 +01:00
2007-11-29 09:24:53 -08:00
2007-05-09 08:57:56 +02:00
2009-04-13 00:12:41 -07:00
2009-03-20 11:35:04 -07:00
2008-10-30 11:38:45 -07:00
2009-05-27 09:10:36 +02:00
2008-10-16 11:21:29 -07:00
2009-04-22 13:02:09 +10:00
2008-04-19 19:19:55 +02:00
2009-04-02 01:33:51 -07:00
2009-01-06 15:59:28 -08:00
2009-03-30 15:22:02 +02:00
2009-04-03 09:23:11 -05:00
2008-11-14 17:28:53 +00:00
2008-12-22 18:44:05 +09:00
2009-04-15 11:51:50 +02:00
2008-08-29 02:15:25 -07:00
2009-04-21 13:41:50 -07:00
2009-05-15 11:32:24 +02:00
2008-07-22 19:24:29 +10:00
2008-04-29 02:49:47 -04:00
2008-07-31 18:45:41 +02:00
2009-04-09 07:28:10 +02:00
2006-11-30 04:58:40 +01:00
2009-03-24 16:20:36 -07:00
2009-04-06 21:44:24 -03:00
2009-04-13 15:04:32 -07:00
2009-01-08 08:31:14 -08:00
2008-10-30 11:38:45 -07:00
2009-01-07 10:00:18 -08:00
2009-04-03 15:24:35 -07:00
2008-01-24 20:40:04 -08:00
2009-03-30 15:22:02 +02:00
2008-02-23 17:52:36 -08:00
2008-12-03 16:09:53 -07:00
2007-05-09 08:58:19 +02:00
2008-04-30 08:29:52 -07:00
2008-07-25 10:53:30 -07:00
2008-02-06 10:41:09 -08:00
2008-11-12 17:17:18 -08:00
2007-10-19 11:53:34 -07:00
2009-01-29 18:19:30 -08:00
2009-01-29 18:19:29 -08:00
2008-12-18 12:08:05 +01:00
2007-03-01 14:53:39 -08:00
2009-01-11 19:12:49 +01:00
2008-11-14 10:39:26 +11:00
2008-02-03 15:27:38 +02:00
2008-04-18 17:55:33 +02:00
2009-01-06 11:28:07 +01:00
2009-04-07 08:44:05 -07:00
2009-03-17 12:56:47 +01:00
2008-07-22 10:39:36 +10:00
2006-11-30 04:55:36 +01:00
2009-04-07 08:31:12 -07:00
2009-01-05 18:10:19 -07:00
2009-03-26 15:45:43 -07:00
2009-03-24 16:38:27 -07:00
2008-07-26 12:00:06 -07:00
2006-11-30 04:58:40 +01:00
2008-11-06 15:41:19 -08:00
2006-10-03 22:57:56 +02:00
2009-04-13 17:02:13 +02:00
2009-04-02 19:04:51 -07:00
2008-04-21 15:10:15 -07:00
2008-10-16 11:21:32 -07:00
2008-03-24 19:22:19 -07:00
2008-11-12 17:17:18 -08:00
2008-02-03 14:54:41 +02:00
2008-07-26 12:00:06 -07:00
2008-11-03 18:21:44 +01:00
2009-01-29 18:19:29 -08:00
2008-07-26 12:00:06 -07:00
2007-10-18 14:37:32 -07:00
2008-06-05 15:18:30 +02:00
2007-10-20 02:37:21 +02:00
2009-05-02 15:36:10 -07:00
2008-06-06 11:29:10 -07:00
2009-05-06 16:36:10 -07:00
2008-04-29 08:06:16 -07:00
2008-07-26 12:00:06 -07:00
2009-01-06 10:44:32 -08:00
2009-04-07 08:31:08 -07:00
2008-02-06 10:41:09 -08:00
2007-05-21 09:58:40 -07:00
2008-07-26 12:00:06 -07:00
2008-12-01 13:51:26 +01:00
2009-04-26 18:21:24 +02:00
2008-10-20 15:43:10 +02:00
2009-04-27 12:00:27 -07:00
2009-04-27 12:00:27 -07:00
2009-01-06 15:59:28 -08:00
2008-08-12 16:07:30 -07:00
2008-10-30 11:38:46 -07:00
2008-11-28 16:47:41 +01:00
2008-03-17 09:03:05 +01:00
2009-03-31 15:18:37 +11:00
2008-05-14 10:05:18 -07:00
2009-01-06 15:59:00 -08:00
2006-10-03 22:53:09 +02:00
2007-10-20 00:15:26 +02:00
2008-10-30 19:07:04 +01:00
2009-01-08 12:04:47 +00:00
2008-04-29 08:05:59 -07:00
2007-11-26 19:39:01 -08:00
2006-10-03 23:39:02 +02:00
2008-01-24 20:40:04 -08:00
2008-11-12 17:17:17 -08:00
2006-10-03 22:57:56 +02:00
2007-02-11 10:51:35 -08:00
2008-10-31 19:00:09 -04:00
2006-11-30 04:58:40 +01:00
2006-11-30 05:21:10 +01:00
2006-10-01 00:39:24 -07:00
2008-02-06 10:41:14 -08:00
2008-10-16 11:21:32 -07:00
2008-08-27 08:54:08 +10:00
2009-04-03 16:42:35 +01:00
2007-10-17 08:43:06 -07:00
2009-03-28 15:01:37 +11:00
2009-04-11 08:18:11 +02:00
2008-04-11 13:21:14 -06:00
2007-07-30 14:25:12 -07:00
2008-10-29 15:03:49 -07:00
2008-10-16 11:21:32 -07:00
2008-10-16 11:21:32 -07:00
2008-10-16 12:18:16 -07:00
2009-05-08 19:22:20 -07:00
2009-04-02 00:49:02 +02:00
2009-04-14 09:14:58 +10:00
2008-07-25 10:53:27 -07:00
2006-10-03 22:57:56 +02:00
2006-12-20 01:46:58 -05:00
2008-07-26 12:00:06 -07:00