Linux PARISC architecture development
 help / color / mirror / Atom feed
* [parisc-linux] some 2.5 kernel profile data
@ 2003-04-14  5:22 Randolph Chung
  2003-04-18  5:17 ` Randolph Chung
  0 siblings, 1 reply; 2+ messages in thread
From: Randolph Chung @ 2003-04-14  5:22 UTC (permalink / raw)
  To: parisc-linux

i ran 'readprofile' on a 2.5.67-pa3 UP kernel (a500, 64-bit) with
several different workloads. here are the numbers if anyone is
interested.

the results are from 
readprofile -m System.map -d vmlinux | sort -rn -k3 | head -30
Each data set is collected from a freshly booted kernel. 

1) 'make clean vmlinux' on a 2.5 kernel tree:

1040421 cpu_idle                       14450.2917
  7616 fdsync                         380.8000
 32303 flush_kernel_icache_page       323.0300
  9059 flush_user_dcache_range_asm    251.6389
  8762 flush_user_icache_range_asm    243.3889
  1066 fioneloop                      133.2500
 10400 clear_user_page_asm             92.8571
  3133 flush_kernel_dcache_page        31.3300
  2457 purge_kernel_dcache_page        24.5700
  2725 copy_user_page_asm              17.9276
   228 fimanyloop                      11.4000
  2583 handle_interruption              6.9435
  1215 pdc_tod_read                     6.6033
    88 syscall_check_bh                 5.5000
   222 .L1123                           4.6250
   209 flush_all_caches                 3.7321
1128570 total                            3.6959 0.83%
    36 intr_check_sig                   3.0000
    82 syscall_exit                     2.0500
    37 intr_return                      1.8500
   436 syscall_restore                  1.7581
    20 fisync                           1.6667
   379 parisc_acctyp                    1.3536
   546 intr_restore                     1.2080
  1024 do_page_fault                    1.1963
    99 __wake_up                        1.0312
    11 intr_check_resched               0.9167
     7 syscall_check_sig                0.8750
    65 .L1073                           0.8553
   176 update_mmu_cache                 0.6286

2) cp -r glibc glibc.bak; sync
   glibc is a glibc source tree with ~24k files (~726MB)
   (Note that this is on a s/w raid0 partition....)

409712 cpu_idle                       5690.4444
   770 fdsync                          38.5000
   985 flush_user_icache_range_asm     27.3611
   979 flush_user_dcache_range_asm     27.1944
  1788 flush_kernel_icache_page        17.8800
    99 fioneloop                       12.3750
   136 intr_return                      6.8000
   996 pdc_tod_read                     5.4130
   341 copy_user_page_asm               2.2434
   179 flush_kernel_dcache_page         1.7900
    32 fimanyloop                       1.6000
417412 total                            1.3670 0.29%
    13 syscall_check_bh                 0.8125
    67 __wake_up                        0.6979
   165 syscall_restore                  0.6653
    25 syscall_exit                     0.6250
   228 pdc_iodc_putc                    0.6064
    54 current_kernel_time              0.5192
    58 clear_user_page_asm              0.5179
     3 syscall_check_resched            0.3750
   113 handle_interruption              0.3038
    11 remove_wait_queue                0.2750
    24 prepare_to_wait                  0.2500
    27 io_schedule                      0.2109
     5 scheduling_functions_start_here   0.2083
     2 intr_check_sig                   0.1667
   158 schedule                         0.1274
     1 L21                             0.1250
    29 add_timer                        0.1133
    18 sys_adjtimex                     0.1071

3) from another machine on the same subnet, ftp the whole glibc tree 
   as a single 13MB tar file. (@ 1.11MB/s)

138489 cpu_idle                       1923.4583
   743 fdsync                          37.1500
   980 flush_user_icache_range_asm     27.2222
   980 flush_user_dcache_range_asm     27.2222
  2000 flush_kernel_icache_page        20.0000
    93 fioneloop                       11.6250
  1009 pdc_tod_read                     5.4837
   359 copy_user_page_asm               2.3618
   169 flush_kernel_dcache_page         1.6900
    22 fimanyloop                       1.1000
   223 pdc_iodc_putc                    0.5931
    66 clear_user_page_asm              0.5893
145635 total                            0.4769 0.23%
     3 fisync                           0.2500
    83 handle_interruption              0.2231
     8 syscall_exit                     0.2000
    43 syscall_restore                  0.1734
     3 intr_return                      0.1500
     7 add_wait_queue                   0.1250
     5 remove_wait_queue                0.1250
     2 syscall_check_bh                 0.1250
     1 syscall_check_resched            0.1250
     6 flush_cache_all_local            0.1071
     9 purge_kernel_dcache_page         0.0900
    18 pdc_pat_cell_module              0.0833
     1 intr_check_sig                   0.0833
     5 .L1073                           0.0658
    25 intr_restore                     0.0553
     5 __wake_up                        0.0521
     2 .L1123                           0.0417

Hope someone find these useful and can help make the kernel more
optimized.. :-) I'm not quite sure why there are so many cache
flushes.... 

randolph
-- 
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [parisc-linux] some 2.5 kernel profile data
  2003-04-14  5:22 [parisc-linux] some 2.5 kernel profile data Randolph Chung
@ 2003-04-18  5:17 ` Randolph Chung
  0 siblings, 0 replies; 2+ messages in thread
From: Randolph Chung @ 2003-04-18  5:17 UTC (permalink / raw)
  To: parisc-linux

In reference to a message from Randolph Chung, dated Apr 13:
> i ran 'readprofile' on a 2.5.67-pa3 UP kernel (a500, 64-bit) with
> several different workloads. here are the numbers if anyone is
> interested.

upon future reflection, these profiles are all wrong, because we 
really need to take a before and after measurement and diff them... 
<sigh> what was i thinking?

i'll remeasure them this weekend and post new results. meanwhile, i'm 
putting a diffprof script in cvs, since no one on #kernel seems to know
of a "standard" one, and the one i got from wli is in haskell, so 
i don't understand it, and it doesn't work on parisc :)

randolph
-- 
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-04-18  5:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-14  5:22 [parisc-linux] some 2.5 kernel profile data Randolph Chung
2003-04-18  5:17 ` Randolph Chung

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox