Skip to content

Instantly share code, notes, and snippets.

@ssvb
Created March 31, 2013 16:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ssvb/5281249 to your computer and use it in GitHub Desktop.
Save ssvb/5281249 to your computer and use it in GitHub Desktop.
Branch prediction rate doing 'dd if=/dev/sda of=/dev/null' (with the same usb flash) for Atom, Cortex-A8 and Cortex-A15
======= Intel Atom N450 ==========
atom ~ # perf stat dd if=/dev/sdb of=/dev/null bs=1M
7839+1 records in
7839+1 records out
8220834816 bytes (8.2 GB) copied, 411.443 s, 20.0 MB/s
Performance counter stats for 'dd if=/dev/sdb of=/dev/null bs=1M':
35503.879851 task-clock # 0.086 CPUs utilized
251,314 context-switches # 0.007 M/sec
1,042 CPU-migrations # 0.029 K/sec
507 page-faults # 0.014 K/sec
54,831,835,725 cycles # 1.544 GHz
<not supported> stalled-cycles-frontend
<not supported> stalled-cycles-backend
16,841,062,310 instructions # 0.31 insns per cycle
3,226,037,494 branches # 90.864 M/sec
152,386,299 branch-misses # 4.72% of all branches
411.461097543 seconds time elapsed
======= Allwinner A10 (Mele A2000) ========
sun4i ~ # perf stat dd if=/dev/sda of=/dev/null bs=1M
7839+1 records in
7839+1 records out
8220834816 bytes (8.2 GB) copied, 441.431 s, 18.6 MB/s
Performance counter stats for 'dd if=/dev/sda of=/dev/null bs=1M':
60620.000000 task-clock # 0.137 CPUs utilized
295066 context-switches # 0.005 M/sec
0 CPU-migrations # 0.000 K/sec
466 page-faults # 0.008 K/sec
49514491451 cycles # 0.817 GHz
7468409937 stalled-cycles-frontend # 15.08% frontend cycles idle
<not supported> stalled-cycles-backend
18304965462 instructions # 0.37 insns per cycle
# 0.41 stalled cycles per insn
2050618041 branches # 33.827 M/sec
213548800 branch-misses # 10.41% of all branches
441.446989758 seconds time elapsed
perf record -e branch-misses dd if=/dev/sda of=/dev/null bs=1M count=1000 && perf report -n
# Events: 110K branch-misses
#
# Overhead Samples Command Shared Object Symbol
# ........ .......... ....... ................. .....................................
#
5.12% 5206 dd [kernel.kallsyms] [k] blkdev_get_block
4.28% 4477 dd [kernel.kallsyms] [k] bio_attempt_back_merge
4.24% 4158 dd [kernel.kallsyms] [k] get_request
4.12% 4437 dd [kernel.kallsyms] [k] generic_make_request_checks
4.05% 4457 dd [kernel.kallsyms] [k] __slab_alloc.isra.58.constprop.63
4.04% 3652 dd [kernel.kallsyms] [k] get_page_from_freelist
3.70% 4404 dd [kernel.kallsyms] [k] submit_bh
3.66% 4176 dd [kernel.kallsyms] [k] kmem_cache_alloc
3.58% 3788 dd [kernel.kallsyms] [k] block_read_full_page
3.44% 3820 dd [kernel.kallsyms] [k] sub_preempt_count
3.43% 3021 dd [kernel.kallsyms] [k] scsi_request_fn
3.37% 4177 dd [kernel.kallsyms] [k] add_preempt_count
3.00% 3212 dd [kernel.kallsyms] [k] __do_page_cache_readahead
2.53% 2613 dd [kernel.kallsyms] [k] create_empty_buffers
2.10% 3365 dd [kernel.kallsyms] [k] __blk_recalc_rq_segments
1.97% 1965 dd [kernel.kallsyms] [k] __copy_to_user_std
1.93% 2195 dd [kernel.kallsyms] [k] add_to_page_cache_locked
1.85% 3159 dd [kernel.kallsyms] [k] ll_back_merge_fn
1.82% 1918 dd [kernel.kallsyms] [k] generic_file_aio_read
1.79% 2906 dd [kernel.kallsyms] [k] finish_task_switch.constprop.75
1.66% 2094 dd [kernel.kallsyms] [k] drive_stat_acct
1.59% 1977 dd [kernel.kallsyms] [k] blk_queue_bio
1.58% 1612 dd [kernel.kallsyms] [k] __memzero
1.34% 1448 dd [kernel.kallsyms] [k] alloc_buffer_head
1.18% 1117 dd [kernel.kallsyms] [k] put_page
1.06% 1380 dd [kernel.kallsyms] [k] mempool_alloc
0.93% 1604 dd [kernel.kallsyms] [k] __rcu_read_unlock
0.89% 998 dd [kernel.kallsyms] [k] bio_alloc_bioset
0.88% 1903 dd [kernel.kallsyms] [k] generic_make_request
0.78% 866 dd [kernel.kallsyms] [k] radix_tree_lookup_element
0.76% 768 dd [kernel.kallsyms] [k] __alloc_pages_nodemask
0.74% 771 dd [kernel.kallsyms] [k] pagevec_lru_move_fn
0.70% 717 dd [kernel.kallsyms] [k] prepare_to_wait_exclusive
========= Exynos 5250 (ARM Chromebook) =============
a15 ~ # perf stat dd if=/dev/sda of=/dev/null bs=1M
7839+1 records in
7839+1 records out
8220834816 bytes (8.2 GB) copied, 350.353 s, 23.5 MB/s
Performance counter stats for 'dd if=/dev/sda of=/dev/null bs=1M':
27822.467420 task-clock # 0.079 CPUs utilized
252294 context-switches # 0.009 M/sec
31 CPU-migrations # 0.001 K/sec
465 page-faults # 0.017 K/sec
45755749191 cycles # 1.645 GHz
<not supported> stalled-cycles-frontend
<not supported> stalled-cycles-backend
20143388608 instructions # 0.44 insns per cycle
3972022678 branches # 142.763 M/sec
180404037 branch-misses # 4.54% of all branches
350.364623292 seconds time elapsed
perf record -e branch-misses dd if=/dev/sda of=/dev/null bs=1M count=1000 && perf report -n
# Events: 10K branch-misses
#
# Overhead Samples Command Shared Object Symbol
# ........ .......... ....... ................. ...............................
#
27.06% 2928 dd [kernel.kallsyms] [k] _raw_spin_unlock_irq
6.48% 703 dd [kernel.kallsyms] [k] blkdev_max_block
5.58% 605 dd [kernel.kallsyms] [k] kmem_cache_alloc
5.24% 571 dd [kernel.kallsyms] [k] generic_make_request_checks
3.78% 393 dd [kernel.kallsyms] [k] _test_and_set_bit
2.80% 285 dd [kernel.kallsyms] [k] get_page_from_freelist
2.39% 265 dd [kernel.kallsyms] [k] block_read_full_page
2.33% 274 dd [kernel.kallsyms] [k] _set_bit
2.06% 228 dd [kernel.kallsyms] [k] __copy_to_user_std
2.00% 164 dd [kernel.kallsyms] [k] put_page
1.97% 147 dd [kernel.kallsyms] [k] _clear_bit
1.70% 178 dd [kernel.kallsyms] [k] __blk_recalc_rq_segments
1.65% 170 dd [kernel.kallsyms] [k] _raw_spin_unlock_irqrestore
1.42% 164 dd [kernel.kallsyms] [k] bio_put
1.36% 140 dd [kernel.kallsyms] [k] __slab_alloc.constprop.49
1.18% 123 dd [kernel.kallsyms] [k] _cond_resched
1.14% 128 dd [kernel.kallsyms] [k] blk_queue_bio
1.13% 93 dd [kernel.kallsyms] [k] do_raw_spin_unlock
1.11% 119 dd [kernel.kallsyms] [k] generic_file_aio_read
1.08% 109 dd [kernel.kallsyms] [k] alloc_buffer_head
1.02% 97 dd [kernel.kallsyms] [k] recalc_bh_state
1.00% 103 dd [kernel.kallsyms] [k] drive_stat_acct
1.00% 72 dd [kernel.kallsyms] [k] free_hot_cold_page
0.98% 92 dd [kernel.kallsyms] [k] find_get_page
0.95% 106 dd [kernel.kallsyms] [k] submit_bio
0.79% 82 dd [kernel.kallsyms] [k] radix_tree_lookup_element
0.78% 85 dd [kernel.kallsyms] [k] page_address
0.76% 63 dd [kernel.kallsyms] [k] _test_and_clear_bit
0.70% 69 dd [kernel.kallsyms] [k] submit_bh
0.63% 55 dd [kernel.kallsyms] [k] bio_alloc
0.61% 54 dd [kernel.kallsyms] [k] __alloc_pages_nodemask
0.60% 59 dd [kernel.kallsyms] [k] blkdev_get_block
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment