Ingo Molnar a écrit :Only difference I see with '-l' is cache misses not counted. (tbench 8 running, so not one instruction per cycle) # perf stat -l -a sleep 10 Performance counter stats for 'sleep': 80007.128844 task clock ticks (msecs) 6754642 context switches (events) 2 CPU migrations (events) 474 pagefaults (events) 160925719143 CPU cycles (events) 108482003620 instructions (events) 7584035056 cache references (events) <not counted> cache misses Wall-clock time elapsed: 10000.595448 msecs # perf stat -a sleep 10 Performance counter stats for 'sleep': 80702.908287 task clock ticks (msecs) 6792588 context switches (events) 24 CPU migrations (events) 4867 pagefaults (events) 161957342744 CPU cycles (events) 109147553984 instructions (events) 7633190481 cache references (events) 22996234 cache misses (events) Wall-clock time elapsed: 10087.502391 msecs # perf stat -e instructions -e cycles -a sleep 10 Performance counter stats for 'sleep': 109469842392 instructions (events) 162012922122 CPU cycles (events) Wall-clock time elapsed: 10124.943544 msecs I am wondering if cpus are not running at 2 GHz ;) They stay fix (but only CPU#0 is displayed) Is perf able to display per cpu counters, and not aggregated values ? [ 7894.426787] CPU#0: ctrl: ffffffffffffffff [ 7894.426788] CPU#0: status: 0000000000000000 [ 7894.426790] CPU#0: overflow: 0000000000000000 [ 7894.426792] CPU#0: fixed: 0000000000000000 [ 7894.426793] CPU#0: used: 0000000000000000 [ 7894.426796] CPU#0: gen-PMC0 ctrl: 0000000000134f2e [ 7894.426798] CPU#0: gen-PMC0 count: 000000ffb91e31e1 [ 7894.426799] CPU#0: gen-PMC0 left: 000000007fffffff [ 7894.426802] CPU#0: gen-PMC1 ctrl: 000000000013412e [ 7894.426804] CPU#0: gen-PMC1 count: 000000ff80312b23 [ 7894.426805] CPU#0: gen-PMC1 left: 000000007fffffff [ 7894.426807] CPU#0: fixed-PMC0 count: 000000ffacf54a68 [ 7894.426809] CPU#0: fixed-PMC1 count: 000000ffb71cfe02 [ 7894.426811] CPU#0: fixed-PMC2 count: 0000000000000000 [ 7905.522262] SysRq : Show Regs [ 7905.522277] [ 7905.522279] CPU#0: ctrl: ffffffffffffffff [ 7905.522281] CPU#0: status: 0000000000000000 [ 7905.522283] CPU#0: overflow: 0000000000000000 [ 7905.522284] CPU#0: fixed: 0000000000000000 [ 7905.522286] CPU#0: used: 0000000000000000 [ 7905.522288] CPU#0: gen-PMC0 ctrl: 0000000000134f2e [ 7905.522290] CPU#0: gen-PMC0 count: 000000ffb91e31e1 [ 7905.522292] CPU#0: gen-PMC0 left: 000000007fffffff [ 7905.522294] CPU#0: gen-PMC1 ctrl: 000000000013412e [ 7905.522296] CPU#0: gen-PMC1 count: 000000ff80312b23 [ 7905.522298] CPU#0: gen-PMC1 left: 000000007fffffff [ 7905.522299] CPU#0: fixed-PMC0 count: 000000ffacf54a68 [ 7905.522301] CPU#0: fixed-PMC1 count: 000000ffb71cfe02 [ 7905.522303] CPU#0: fixed-PMC2 count: 0000000000000000 I rebooted my machine then got good results # perf stat -e instructions -e cycles -a sleep 10 Performance counter stats for 'sleep': 240021659058 instructions (events) 240997984836 CPU cycles (events) << OK >> Wall-clock time elapsed: 10041.499326 msecs But if I use plain "perf stat -a sleep 10" it seems I get wrong values again (16 G cycles/sec) for all next perf sessions # perf stat -a sleep 10 Performance counter stats for 'sleep': 80332.718661 task clock ticks (msecs) 80602 context switches (events) 4 CPU migrations (events) 473 pagefaults (events) 160665397757 CPU cycles (events) << bad >> 160079277974 instructions (events) 793665 cache references (events) 226829 cache misses (events) Wall-clock time elapsed: 10041.302969 msecs # perf stat -e cycles -a sleep 10 Performance counter stats for 'sleep': 160665176575 CPU cycles (events) << bad >> Wall-clock time elapsed: 10041.491503 msecs Thanks, this is what I use currently -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Linus Torvalds | Linux 2.6.27-rc8 |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Linus Torvalds | Linux 2.6.20-rc6 |
| Mike Snitzer | Re: Distributed storage. |
git: | |
| Gerrit Renker | [PATCH 03/37] dccp: List management for new feature negotiation |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | [GIT]: Networking |
| Herbert Xu | Re: Kernel oops with 2.6.26, padlock and ipsec: probably problem with fpu state ch... |
