[parisc-linux] I/O-centric profile

Paul Bame bame@fc.hp.com
Thu, 30 May 2002 09:18:37 -0600 (MDT)


I edited System.map to get rid of the $lcfu_done sorts of symbols within
the user-space copy routines.  This load, again on a b180, is a bunch of
big file tree copies and syncs and removes mixed with some large file
creation via dd and syncs.

  8443 total                                      0.0048
  2500 lcopy_from_user                           36.7647
   945 lcopy_to_user                             16.8750
   403 memset                                    12.5938
   273 cpu_idle                                   3.7917
   215 ext3_do_update_inode                       0.1701
   151 scsi_dispatch_cmd                          0.1560
   132 journal_dirty_metadata                     0.2115
   129 do_get_write_access                        0.0762
   121 flush_user_icache_range_asm                3.3611
   120 __make_request                             0.0415
   111 journal_get_write_access                   0.6307
    97 journal_cancel_revoke                      0.3566
    90 flush_user_dcache_range_asm                2.5000
    88 ext3_get_inode_loc                         0.1964
    76 get_hash_table                             0.4318
    71 $$remU                                     0.2399
    65 rmqueue                                    0.0710
    65 $$divU                                     0.2257
    58 __journal_file_buffer                      0.0815
    57 d_lookup                                   0.1484
    55 kmem_cache_alloc                           0.1741
    55 journal_add_journal_head                   0.1580
    55 ext3_new_block                             0.0238
    54 link_path_walk                             0.0213
    54 kmem_cache_free                            0.2700
    52 __brelse                                   0.6500
    48 clear_user_page_asm                        0.4286
    44 journal_unlock_journal_head                0.2619
    44 ext3_dirty_inode                           0.1746
    43 generic_file_write                         0.0219
    43 ext3_check_dir_entry                       0.1558
    40 schedule                                   0.0422
    40 __block_prepare_write                      0.0450
    38 start_this_handle                          0.0748
    37 journal_stop                               0.0685
    36 ext3_get_block_handle                      0.0457
    35 scsi_request_fn                            0.0425
    34 mark_page_accessed                         0.3542
    33 kfree                                      0.1618
    32 nfs3_xdr_sattrargs                         0.0116
    32 __jbd_kmalloc                              0.1600
    32 $$mulU                                     0.0602
    31 memscan                                    0.7045
    30 ll_rw_block                                0.0487
    30 journal_start                              0.1056
    30 journal_commit_transaction                 0.0065
    29 memcmp                                     0.3625
    29 ext3_mark_iloc_dirty                       0.2339
    29 ext3_find_entry                            0.0374
    29 do_generic_file_read                       0.0229
    28 __free_pages_ok                            0.0262
    27 kmalloc                                    0.0742
    24 lstrncpy_from_user                         0.3333
    24 __insert_into_lru_list                     0.1053
    22 syscall_restore                            0.0917
    22 ext3_mark_inode_dirty                      0.2500
    22 buffer_insert_inode_queue                  0.3235
    22 __mark_inode_dirty                         0.1341
    21 __wake_up                                  0.0750
    20 ext3_add_entry                             0.0158
    19 memcpy                                     0.5278
    19 ext3_reserve_inode_write                   0.0742
    19 ext3_new_inode                             0.0075
    18 ext3_get_branch                            0.0608
    18 ext3_alloc_branch                          0.0201
    18 bread                                      0.1324
    17 ext3_test_allocatable                      0.2024
    17 ext3_get_group_desc                        0.0944
    17 ext3_commit_write                          0.0281
    17 dput                                       0.0394
    16 walk_page_buffers                          0.0635
    16 unlock_page                                0.1143
    16 try_to_free_buffers                        0.0435
    16 sys_write                                  0.0455
    16 sys_read                                   0.0455
    16 getblk                                     0.1429
    16 __journal_unfile_buffer                    0.0288
    16 __free_pages                               0.2105
    15 path_init                                  0.0291
    15 __refile_buffer                            0.1250
    15 __block_commit_write                       0.0399
    14 shrink_cache                               0.0136
    14 find_inode                                 0.0814
    14 add_to_page_cache_unique                   0.0673
    13 fput                                       0.0332
    12 reschedule_idle                            0.0140
    12 permission                                 0.1500
    12 get_empty_filp                             0.0361
    12 generic_make_request                       0.0273
    12 fimanyloop                                 0.6000
    12 __journal_remove_journal_head              0.0303
    12 $$remI                                     0.0366
    11 vfs_permission                             0.0316
    11 set_buffer_flushtime                       0.3929
    11 sd_init_command                            0.0119
    11 open_namei                                 0.0071
    11 lru_cache_add                              0.0550
    11 ext3_splice_branch                         0.0179
    11 ext3_clear_blocks                          0.0243
    11 ext3_block_to_path                         0.0404
    11 __alloc_pages                              0.0204
    10 truncate_list_pages                        0.0216
    10 submit_bh                                  0.0532
    10 journal_dirty_data                         0.0198
    10 ext3_prepare_write                         0.0253
    10 copy_user_page_asm                         0.0658
    10 add_page_to_hash_queue                     0.0806
    10 __remove_from_lru_list                     0.0781
     9 pipe_read                                  0.0138
     9 fdsync                                     0.4500
     9 ext3_writepage_trans_blocks                0.0592
     9 ext3_getblk                                0.0112
     9 ext3_free_data                             0.0186
     9 create_buffers                             0.0352
     9 __find_lock_page_helper                    0.0433
     8 prune_icache                               0.0233
     8 journal_unmap_buffer                       0.0127
     8 journal_flushpage                          0.0157
     8 get_unused_buffer_head                     0.0444
     8 ext3_read_inode                            0.0084
     8 ext3_free_blocks                           0.0043
     8 __remove_inode_page                        0.0541
     7 unlock_buffer                              0.0583
     7 syscall_exit                               0.2500
     7 sd_find_queue                              0.1250
     7 prune_dcache                               0.0152
     7 log_space_left                             0.2188
     7 journal_get_undo_access                    0.0194
     7 intr_restore                               0.0155
     7 handle_interruption                        0.0054
     7 getname                                    0.0287
     7 ext3_get_block                             0.0372
     7 ext3_forget                                0.0233
     7 block_read_full_page                       0.0091
     7 add_timer                                  0.0269
     7 _switch_to_ret                             0.0090
     6 update_atime                               0.0484
     6 scsi_init_io_v                             0.0205
     6 purge_kernel_dcache_page                   0.0600
     6 generic_commit_write                       0.0417
     6 fget                                       0.0938
     6 fcntl_dirnotify                            0.0152
     6 create_empty_buffers                       0.0375
     5 syscall_check_bh                           0.3125
     5 path_release                               0.0595
     5 page_cache_read                            0.0171
     5 nr_free_buffer_pages                       0.0694
     5 iput                                       0.0080
     5 get_unused_fd                              0.0114
     5 get_new_inode                              0.0094
     5 ext3_orphan_del                            0.0071
     5 ext3_find_goal                             0.0179
     5 ext3_create                                0.0142
     5 d_alloc                                    0.0117
     5 bcopy                                      0.1389
     5 balance_dirty_state                        0.0347
     5 _switch_to                                 0.0463
     5 __user_walk                                0.0379
     5 __down_read                                0.0305
     4 sys_utime                                  0.0130
     4 sys_close                                  0.0244
     4 pipe_write                                 0.0052
     4 notify_change                              0.0095
     4 ncr_queue_command                          0.0013
     4 journal_try_to_free_buffers                0.0175
     4 journal_alloc_journal_head                 0.0244
     4 generic_unplug_device                      0.0588
     4 filldir64                                  0.0116
     4 ext3_bread                                 0.0270
     4 dentry_open                                0.0076
     4 clear_inode                                0.0172
     4 cached_lookup                              0.0323
     4 add_wait_queue                             0.0833
     4 __wake_up_sync                             0.0132
     4 __put_unused_buffer_head                   0.0263
     4 __lru_cache_del                            0.0286
     4 __free_pte                                 0.0286
     4 __find_lock_page                           0.1429
     4 Letext                                     0.0270
     3 truncate_complete_page                     0.0259
     3 sys_open                                   0.0107
     3 sys_fcntl                                  0.0268
     3 put_filp                                   0.0288
     3 lookup_hash                                0.0132
     3 locks_remove_posix                         0.0079
     3 journal_dirty_sync_data                    0.0214
     3 grow_buffers                               0.0070
     3 filemap_nopage                             0.0044
     3 file_read_actor                            0.0234
     3 ext3_truncate                              0.0026
     3 ext3_readdir                               0.0026
     3 ext3_free_inode                            0.0022
     3 ext3_file_write                            0.0208
     3 d_rehash                                   0.0187
     3 _alloc_pages                               0.0682
     3 __up_read                                  0.0341
     3 ___wait_on_page                            0.0150
     2 write_some_buffers                         0.0060
     2 vfs_readdir                                0.0064
     2 try_to_release_page                        0.0139
     2 sys_newstat                                0.0125
     2 sys_getdents64                             0.0106
     2 scsi_add_timer                             0.0119
     2 refile_buffer                              0.0833
     2 pipe_wait                                  0.0081
     2 lookup_create                              0.0109
     2 locks_remove_flock                         0.0161
     2 kmem_cache_reap                            0.0034
     2 intr_do_resched                            0.0556
     2 inode_setattr                              0.0075
     2 inode_has_buffers                          0.0455
     2 inode_change_ok                            0.0042
     2 init_rwsem                                 0.1000
     2 in_group_p                                 0.0385
     2 grow_dev_page                              0.0086
     2 get_empty_inode                            0.0116
     2 generic_file_readahead                     0.0048
     2 generic_file_read                          0.0060
     2 ext3_unlink                                0.0037
     2 ext3_orphan_add                            0.0030
     2 ext3_alloc_block                           0.0500
     2 end_buffer_io_sync                         0.0192
     2 do_page_fault                              0.0026
     2 do_no_page                                 0.0044
     2 do_journal_get_write_access                0.0147
     2 dispose_list                               0.0139
     2 buffer_insert_inode_data_queue             0.0294
     2 block_prepare_write                        0.0217
     2 bdget                                      0.0060
     2 add_wait_queue_exclusive                   0.0417
     2 __run_task_queue                           0.0143
     1 zap_page_range                             0.0011
     1 wait_for_buffers                           0.0038
     1 vm_enough_memory                           0.0063
     1 unmap_underlying_metadata                  0.0064
     1 tty_poll                                   0.0049
     1 tcp_write_xmit                             0.0013
     1 syscall_restore_rfi                        0.0357
     1 syscall_check_sig                          0.0833
     1 syscall_check_resched                      0.1250
     1 sys_rt_sigprocmask                         0.0027
     1 sys_lstat64                                0.0063
     1 sys_fstat64                                0.0068
     1 sync_unlocked_inodes                       0.0023
     1 sync_page_buffers                          0.0029
     1 swap_out                                   0.0006
     1 skb_checksum                               0.0017
     1 sk_run_filter                              0.0004
     1 shrink_dcache_sb                           0.0021
     1 set_bh_page                                0.0100
     1 select_parent                              0.0068
     1 scsi_malloc                                0.0046
     1 refill_inactive                            0.0021
     1 real_lookup                                0.0028
     1 read_chan                                  0.0005
     1 rb_erase                                   0.0033
     1 number                                     0.0009
     1 lookup_one_len                             0.0086
     1 load_inode_bitmap                          0.0019
     1 kswapd_can_sleep_pgdat                     0.0179
     1 journal_revoke                             0.0021
     1 journal_get_create_access                  0.0016
     1 journal_forget                             0.0015
     1 intr_return                                0.0500
     1 intr_check_sig                             0.0833
     1 iget4                                      0.0029
     1 handle_mm_fault                            0.0037
     1 get_pid                                    0.0028
     1 flush_kernel_icache_page                   0.0100
     1 flush_kernel_dcache_page                   0.0100
     1 fioneloop                                  0.1250
     1 find_vma_prev                              0.0119
     1 find_or_create_page                        0.0030
     1 find_next_usable_block                     0.0010
     1 filp_open                                  0.0093
     1 filp_close                                 0.0068
     1 filemap_fdatasync                          0.0035
     1 ext3_setattr                               0.0022
     1 ext3_free_branches                         0.0014
     1 ext3_delete_inode                          0.0028
     1 ext3_block_truncate_page                   0.0010
     1 ext2_update_inode                          0.0008
     1 ext2_get_branch                            0.0034
     1 ext2_get_block                             0.0008
     1 empty_dir                                  0.0016
     1 do_select                                  0.0017
     1 do_munmap                                  0.0014
     1 do_anonymous_page                          0.0028
     1 datagram_poll                              0.0034
     1 cp_new_stat64                              0.0022
     1 copy_strings                               0.0047
     1 copy_page_range                            0.0018
     1 block_truncate_page                        0.0019
     1 block_commit_write                         0.0179
     1 balance_dirty                              0.0132
     1 __wait_on_buffer                           0.0037
     1 __try_to_free_cp_buf                       0.0100
     1 __remove_inode_queue                       0.0417
     1 __journal_remove_checkpoint                0.0066
     1 __down_write                               0.0064
     1 $$divI                                     0.0030