More kernel profiling

Jim Nance (Jim_Nance@avanticorp.com)
Fri, 2 Aug 1996 13:46:31 -0400 (EDT)


After seeing the improvements which resulted the last time someone posted
a kernel profile to this mailing list, I decided to see if I could continue
the trend by posting another one :-)

The following is from a 2.0.10 kernel which is doing a large amount of
compiling . The .o files produced by the compiler are stored on a local disk,
but the library and executable files are written back out to the NFS file
system.

283 add_timer 4.4219
1123 csum_partial_copy_fromuser 5.0134
663 NS8390_trigger_send 5.1797
3642 do_wp_page 5.5518
457 error_code 5.7125
407 padzero 6.3594
1226 ret_from_sys_call 8.5139
1238 system_call 9.6719
1571 memcpy_toiovec 10.9097
1011 skb_free_datagram 12.6375
2121 nfs_lookup_cache_index 16.5703
429 page_fault 26.8125
1581 unplug_device 32.9375
3417 nfs_lookup_cache_refresh 35.5938
20189 wd_block_output 114.7102

I took a look at wd_block_output(), and all it does is copy data out to the
network card. Probably not too much room for improvement there. This
machine probably has an ISA network card in it.

nfs_lookup_cache_refresh() searches through a 64 item array. It might
be possible to make it a little faster by using some sort of tree structure,
but since its only got 64 entries in it, I doubt that that is going to
make it much faster.

Anyway, I hope this is at least interesting information.

Jim