mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* inline_hunter 0.2 and it's results
@ 2004-04-16 19:30 Denis Vlasenko
  2004-04-16 19:54 ` [PATCH] deinline put_page if CONFIG_HUGETLB_PAGE=y Denis Vlasenko
  2004-04-19 21:40 ` inline_hunter 0.2 and it's results Kevin O'Connor
  0 siblings, 2 replies; 7+ messages in thread
From: Denis Vlasenko @ 2004-04-16 19:30 UTC (permalink / raw)
  To: linux-kernel; +Cc: Matt Mackall

[-- Attachment #1: Type: text/plain, Size: 41521 bytes --]

This is next version of 'inline hunter', a tool designed to find
inlines which are large. It has bug fixes and improvements suggested
by readers of lkml. Tarball and results are below sig.

Matt, you may simply replace earlier version with this one.
--
vda

Size  Uses Wasted Name and definition
===== ==== ====== ================================================
   56  461  16560 copy_from_user	include/asm/uaccess.h
  122  119  12036 skb_dequeue	include/linux/skbuff.h
  164   78  11088 skb_queue_purge	include/linux/skbuff.h
   97  141  10780 netif_wake_queue	include/linux/netdevice.h
   43  468  10741 copy_to_user	include/asm/uaccess.h
   43  461  10580 copy_from_user	include/asm/uaccess.h
  145   77   9500 put_page	include/linux/mm.h
   49  313   9048 skb_put	include/linux/skbuff.h
  109  101   8900 skb_queue_tail	include/linux/skbuff.h
  381   21   7220 sock_queue_rcv_skb	include/net/sock.h
   55  191   6650 init_MUTEX	include/asm/semaphore.h
   61  163   6642 unlock_kernel	include/linux/smp_lock.h
   59  165   6396 lock_kernel	include/linux/smp_lock.h
  127   59   6206 dev_kfree_skb_any	include/linux/netdevice.h
   41  289   6048 list_del	include/linux/list.h
 2892    3   5744 do_read_onechip	drivers/mtd/chips/cfi_cmdset_0020.c drivers/mtd/chips/cfi_cmdset_0002.c drivers/mtd/chips/cfi_cmdset_0001.c
 4852    2   4832 do_write_buffer	drivers/mtd/chips/cfi_cmdset_0020.c drivers/mtd/chips/cfi_cmdset_0001.c
 4832    2   4812 do_write_buffer	drivers/mtd/chips/cfi_cmdset_0020.c drivers/mtd/chips/cfi_cmdset_0001.c
   73   83   4346 dev_kfree_skb_irq	include/linux/netdevice.h
  131   39   4218 netif_device_attach	include/linux/netdevice.h
 3994    2   3974 do_erase_oneblock	drivers/mtd/chips/cfi_cmdset_0020.c drivers/mtd/chips/cfi_cmdset_0002.c
  110   44   3870 skb_queue_head	include/linux/skbuff.h
   84   59   3712 seq_puts	include/linux/seq_file.h
 3721    2   3701 do_erase_oneblock	drivers/mtd/chips/cfi_cmdset_0020.c drivers/mtd/chips/cfi_cmdset_0002.c
   57   75   2738 skb_trim	include/linux/skbuff.h
   45   96   2375 skb_queue_head_init	include/linux/skbuff.h
   41  111   2310 list_del_init	include/linux/list.h
 1074    3   2108 line_info	drivers/char/synclinkmp.c drivers/char/synclink.c drivers/char/pcmcia/synclink_cs.c
  102   23   1804 __nlmsg_put	include/linux/netlink.h
  870    3   1700 check_entry	net/ipv6/netfilter/ip6_tables.c net/ipv4/netfilter/ip_tables.c net/ipv4/netfilter/arp_tables.c
  850    3   1660 check_entry	net/ipv6/netfilter/ip6_tables.c net/ipv4/netfilter/ip_tables.c net/ipv4/netfilter/arp_tables.c
  212    9   1536 hci_recv_frame	include/net/bluetooth/hci_core.h
  762    3   1484 line_info	drivers/char/synclinkmp.c drivers/char/synclink.c drivers/char/pcmcia/synclink_cs.c
  738    3   1436 line_info	drivers/char/synclinkmp.c drivers/char/synclink.c drivers/char/pcmcia/synclink_cs.c
  101   18   1377 sock_orphan	include/net/sock.h
  115   14   1235 d_drop	include/linux/dcache.h
   90   18   1190 sk_del_node_init	include/net/sock.h
   55   35   1190 sema_init	include/asm/semaphore.h
   47   45   1188 iget	include/linux/fs.h
 1199    2   1179 ser12_rx	drivers/net/hamradio/baycom_ser_hdx.c drivers/net/hamradio/baycom_ser_fdx.c
   60   28   1080 writereg	drivers/isdn/hisax/teles3.c drivers/isdn/hisax/sedlbauer.c drivers/isdn/hisax/saphir.c drivers/isdn/hisax/s0box.c drivers/isdn/hisax/niccy.c drivers/isdn/hisax/mic.c drivers/isdn/hisax/ix1_micro.c drivers/isdn/hisax/elsa.c drivers/isdn/hisax/diva.c drivers/isdn/hisax/bkm_a8.c drivers/isdn/hisax/bkm_a4t.c drivers/isdn/hisax/avm_a1.c drivers/isdn/hisax/asuscom.c drivers/isdn/hisax/teleint.c drivers/isdn/hisax/gazel.c
   46   41   1040 netif_device_detach	include/linux/netdevice.h
 1043    2   1023 wv_mmc_init	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
 1038    2   1018 wv_mmc_init	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
   55   30   1015 init_MUTEX_LOCKED	include/asm/semaphore.h
   45   41   1000 init_completion	include/linux/completion.h
   56   28    972 readreg	drivers/isdn/hisax/teles3.c drivers/isdn/hisax/sedlbauer.c drivers/isdn/hisax/saphir.c drivers/isdn/hisax/s0box.c drivers/isdn/hisax/niccy.c drivers/isdn/hisax/mic.c drivers/isdn/hisax/ix1_micro.c drivers/isdn/hisax/elsa.c drivers/isdn/hisax/diva.c drivers/isdn/hisax/bkm_a8.c drivers/isdn/hisax/bkm_a4t.c drivers/isdn/hisax/avm_a1.c drivers/isdn/hisax/asuscom.c drivers/isdn/hisax/teleint.c drivers/isdn/hisax/gazel.c
  990    2    970 wv_set_frequency	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
  982    2    962 wv_set_frequency	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
  150    8    910 sk_dst_reset	include/net/sock.h
  132    9    896 skb_unlink	include/linux/skbuff.h
  305    4    855 ahd_unpause	drivers/scsi/aic7xxx/aic79xx_inline.h
  443    3    846 do_read_onechip	drivers/mtd/chips/cfi_cmdset_0020.c drivers/mtd/chips/cfi_cmdset_0002.c drivers/mtd/chips/cfi_cmdset_0001.c
  441    3    842 get_block	fs/minix/itree_common.c
  299    4    837 fh_unlock	include/linux/nfsd/nfsfh.h
  295    4    825 fh_unlock	include/linux/nfsd/nfsfh.h
  183    6    815 vlan_hwaccel_receive_skb	include/linux/if_vlan.h
  426    3    812 get_block	fs/minix/itree_common.c
   49   28    783 writereg	drivers/isdn/hisax/teles3.c drivers/isdn/hisax/sedlbauer.c drivers/isdn/hisax/saphir.c drivers/isdn/hisax/s0box.c drivers/isdn/hisax/niccy.c drivers/isdn/hisax/mic.c drivers/isdn/hisax/ix1_micro.c drivers/isdn/hisax/elsa.c drivers/isdn/hisax/diva.c drivers/isdn/hisax/bkm_a8.c drivers/isdn/hisax/bkm_a4t.c drivers/isdn/hisax/avm_a1.c drivers/isdn/hisax/asuscom.c drivers/isdn/hisax/teleint.c drivers/isdn/hisax/gazel.c
   49   28    783 readreg	drivers/isdn/hisax/teles3.c drivers/isdn/hisax/sedlbauer.c drivers/isdn/hisax/saphir.c drivers/isdn/hisax/s0box.c drivers/isdn/hisax/niccy.c drivers/isdn/hisax/mic.c drivers/isdn/hisax/ix1_micro.c drivers/isdn/hisax/elsa.c drivers/isdn/hisax/diva.c drivers/isdn/hisax/bkm_a8.c drivers/isdn/hisax/bkm_a4t.c drivers/isdn/hisax/avm_a1.c drivers/isdn/hisax/asuscom.c drivers/isdn/hisax/teleint.c drivers/isdn/hisax/gazel.c
  208    5    752 wait_for_ctrl_irq	drivers/pci/hotplug/pciehp.h drivers/pci/hotplug/cpqphp.h drivers/pci/hotplug/shpchp.h
  103   10    747 __skb_queue_purge	include/linux/skbuff.h
  166    6    730 stop_adc	sound/oss/sonicvibes.c sound/oss/maestro.c sound/oss/esssolo1.c sound/oss/es1371.c sound/oss/es1370.c sound/oss/cmpci.c
   58   20    722 __skb_dequeue	include/linux/skbuff.h
   44   31    720 skb_set_owner_w	include/net/sock.h
   44   31    720 netif_carrier_on	include/linux/netdevice.h
  158    6    690 stop_adc	sound/oss/sonicvibes.c sound/oss/maestro.c sound/oss/esssolo1.c sound/oss/es1371.c sound/oss/es1370.c sound/oss/cmpci.c
  363    3    686 check_entry	net/ipv6/netfilter/ip6_tables.c net/ipv4/netfilter/ip_tables.c net/ipv4/netfilter/arp_tables.c
  189    5    676 wait_for_ctrl_irq	drivers/pci/hotplug/pciehp.h drivers/pci/hotplug/cpqphp.h drivers/pci/hotplug/shpchp.h
  242    4    666 _radeon_engine_idle	drivers/video/aty/radeonfb.h drivers/video/radeonfb.c
   75   13    660 blkdev_dequeue_request	include/linux/blkdev.h
  347    3    654 stop_dac	sound/oss/sonicvibes.c sound/oss/esssolo1.c sound/oss/cmpci.c
   51   22    651 tty_insert_flip_char	include/linux/tty_flip.h
   46   26    650 __skb_queue_tail	include/linux/skbuff.h
  100    9    640 sch_tree_lock	include/net/pkt_sched.h
  179    5    636 tcp_done	include/net/tcp.h
  650    2    630 ip_vs_control_add	include/net/ip_vs.h
   53   20    627 list_move	include/linux/list.h
   96    9    608 list_inlist	include/linux/netfilter_ipv4/listhelp.h
  141    6    605 clear_advance	sound/oss/sonicvibes.c sound/oss/maestro.c sound/oss/esssolo1.c sound/oss/es1371.c sound/oss/es1370.c sound/oss/cmpci.c
   80   11    600 kmem_zone_zalloc	fs/xfs/linux/kmem.h
  619    2    599 wv_packet_write	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
   51   20    589 skb_share_check	include/linux/skbuff.h
  213    4    579 list_named_insert	include/linux/netfilter_ipv4/listhelp.h
   92    9    576 tcf_destroy	include/net/pkt_cls.h
   47   22    567 wait_ms	include/linux/usb.h include/linux/gameport.h drivers/video/aty/radeonfb.h drivers/media/video/meye.c
  584    2    564 wv_packet_read	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
   53   18    561 sk_add_node	include/net/sock.h
   48   21    560 map_bh	include/linux/buffer_head.h
  112    7    552 __netif_rx_schedule	include/linux/netdevice.h
   46   22    546 wait_ms	include/linux/usb.h include/linux/gameport.h drivers/video/aty/radeonfb.h drivers/media/video/meye.c
  553    2    533 wv_packet_read	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
  284    3    528 prog_dmabuf_adc	sound/oss/esssolo1.c sound/oss/es1371.c sound/oss/es1370.c
   86    9    528 list_prepend	include/linux/netfilter_ipv4/listhelp.h
   45   22    525 init_rwsem	include/asm/rwsem.h
   85    9    520 list_prepend	include/linux/netfilter_ipv4/listhelp.h
  539    2    519 ahc_queue_scb	drivers/scsi/aic7xxx/aic7xxx_inline.h
  123    6    515 DQUOT_ALLOC_SPACE	include/linux/quotaops.h
   66   12    506 in_dev_get	include/linux/inetdevice.h
  524    2    504 complete_command	drivers/block/cpqarray.c drivers/block/cciss.c
   62   13    504 parent_ino	include/linux/fs.h
  187    4    501 find_inlist_lock_noload	net/ipv6/netfilter/ip6_tables.c net/ipv4/netfilter/ip_tables.c net/ipv4/netfilter/arp_tables.c net/bridge/netfilter/ebtables.c
  516    2    496 ahd_queue_scb	drivers/scsi/aic7xxx/aic79xx_inline.h
   82    9    496 list_inlist	include/linux/netfilter_ipv4/listhelp.h
  266    3    492 do_read_onechip	drivers/mtd/chips/cfi_cmdset_0020.c drivers/mtd/chips/cfi_cmdset_0002.c drivers/mtd/chips/cfi_cmdset_0001.c
   68   11    480 kmem_zalloc	fs/xfs/linux/kmem.h
  491    2    471 wv_init_info	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
  114    6    470 DQUOT_FREE_SPACE	include/linux/quotaops.h
   51   16    465 __skb_unlink	include/linux/skbuff.h
  471    2    451 ser12_rx	drivers/net/hamradio/baycom_ser_hdx.c drivers/net/hamradio/baycom_ser_fdx.c
   95    7    450 dget_parent	include/linux/dcache.h
   76    9    448 sch_tree_unlock	include/net/pkt_sched.h
  456    2    436 truncate	fs/minix/itree_common.c
   68   10    432 skb_cow	include/linux/skbuff.h
  449    2    429 truncate	fs/minix/itree_common.c
  104    6    420 stop_adc	sound/oss/sonicvibes.c sound/oss/maestro.c sound/oss/esssolo1.c sound/oss/es1371.c sound/oss/es1370.c sound/oss/cmpci.c
  122    5    408 _INPLL	drivers/video/aty/radeonfb.h drivers/video/radeonfb.c
  222    3    404 cleanup_entry	net/ipv6/netfilter/ip6_tables.c net/ipv4/netfilter/ip_tables.c net/ipv4/netfilter/arp_tables.c
  221    3    402 cleanup_entry	net/ipv6/netfilter/ip6_tables.c net/ipv4/netfilter/ip_tables.c net/ipv4/netfilter/arp_tables.c
   45   17    400 list_splice_init	include/linux/list.h
  219    3    398 isdn_net_get_locked_lp	drivers/isdn/i4l/isdn_net.h
   98    6    390 stop_adc	sound/oss/sonicvibes.c sound/oss/maestro.c sound/oss/esssolo1.c sound/oss/es1371.c sound/oss/es1370.c sound/oss/cmpci.c
  402    2    382 ahc_intr	drivers/scsi/aic7xxx/aic7xxx_inline.h
   83    7    378 netif_schedule	include/linux/netdevice.h
  114    5    376 skb_append	include/linux/skbuff.h
   42   18    374 claim_dma_lock	include/asm/dma.h
   61   10    369 sock_recv_timestamp	include/net/sock.h
  388    2    368 wv_init_info	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
   44   16    360 usb_serial_debug_data	drivers/usb/serial/usb-serial.h
   41   18    357 snd_mask_min	include/sound/pcm_params.h
   91    6    355 stop_adc	sound/oss/sonicvibes.c sound/oss/maestro.c sound/oss/esssolo1.c sound/oss/es1371.c sound/oss/es1370.c sound/oss/cmpci.c
   42   17    352 lock_buffer	include/linux/buffer_head.h
  195    3    350 hdlcdrv_getbits	include/linux/hdlcdrv.h
   55   11    350 le_key_k_type	include/linux/reiserfs_fs.h
  136    4    348 netif_rx_schedule	include/linux/netdevice.h
  190    3    340 ntfs_map_page	fs/ntfs/ntfs.h
  132    4    336 ahd_set_modes	drivers/scsi/aic7xxx/aic79xx_inline.h
  355    2    335 push_ctxt	fs/intermezzo/intermezzo_fs.h
   87    6    335 clear_advance	sound/oss/sonicvibes.c sound/oss/maestro.c sound/oss/esssolo1.c sound/oss/es1371.c sound/oss/es1370.c sound/oss/cmpci.c
  186    3    332 NCR5380_pread	drivers/scsi/t128.c drivers/scsi/pas16.c drivers/scsi/dtc.c
   50   12    330 ip_fast_csum	include/asm/checksum.h
  183    3    326 ip6_dst_store	include/net/ip6_route.h
  342    2    322 ahd_intr	drivers/scsi/aic7xxx/aic79xx_inline.h
   55   10    315 sock_i_ino	include/net/sock.h
  177    3    314 cls_set_class	include/net/pkt_sched.h
   72    7    312 netif_rx_complete	include/linux/netdevice.h
   59    9    312 pskb_trim	include/linux/skbuff.h
  330    2    310 ipq_rcv_skb	net/ipv6/netfilter/ip6_queue.c net/ipv4/netfilter/ip_queue.c
  329    2    309 init_rx_bufs	drivers/net/lp486e.c drivers/net/82596.c
  123    4    309 ahd_save_modes	drivers/scsi/aic7xxx/aic79xx_inline.h
  123    4    309 __stop_dac	sound/oss/trident.c sound/oss/i810_audio.c sound/oss/cs46xx.c sound/oss/ali5455.c
   97    5    308 hci_dev_put	include/net/bluetooth/hci_core.h
   42   15    308 list_move_tail	include/linux/list.h
  325    2    305 snd_intel8x0_update	sound/pci/intel8x0m.c sound/pci/intel8x0.c
  121    4    303 _sv_wait	fs/xfs/linux/sv.h
  321    2    301 xdr_encode_sattr	fs/nfs/nfs3xdr.c fs/nfs/nfs2xdr.c
  321    2    301 tcp_prequeue	include/net/tcp.h
  321    2    301 init_stripe	drivers/md/raid6main.c drivers/md/raid5.c
  313    2    293 vlan_put_tag	include/linux/if_vlan.h
  311    2    291 hdlc_empty_fifo	drivers/isdn/hisax/hisax_fcpcipnp.c drivers/isdn/hisax/avm_pci.c
  310    2    290 complete_command	drivers/block/cpqarray.c drivers/block/cciss.c
  165    3    290 NCR5380_pwrite	drivers/scsi/t128.c drivers/scsi/pas16.c drivers/scsi/dtc.c
  302    2    282 splice_branch	fs/sysv/itree.c fs/minix/itree_common.c
  160    3    280 dealloc_dmabuf	sound/oss/esssolo1.c sound/oss/es1371.c sound/oss/es1370.c
   76    6    280 get_task_mm	include/linux/sched.h
   55    9    280 sock_i_uid	include/net/sock.h
  159    3    278 switch_mm	include/asm/mmu_context.h
   66    7    276 in6_dev_get	include/net/addrconf.h
  156    3    272 show_version	drivers/net/wan/pc300_drv.c drivers/atm/horizon.c drivers/atm/ambassador.c
   54    9    272 on_each_cpu	include/linux/smp.h
   65    7    270 tulip_restart_rxtx	drivers/net/tulip/tulip.h
   47   11    270 __skb_queue_head	include/linux/skbuff.h
  286    2    266 check_match	net/ipv6/netfilter/ip6_tables.c net/ipv4/netfilter/ip_tables.c
  285    2    265 __release_stripe	drivers/md/raid6main.c drivers/md/raid5.c
  152    3    264 tcp_synq_drop	include/net/tcp.h
  151    3    262 prog_dmabuf_adc	sound/oss/esssolo1.c sound/oss/es1371.c sound/oss/es1370.c
  151    3    262 dealloc_dmabuf	sound/oss/esssolo1.c sound/oss/es1371.c sound/oss/es1370.c
   85    5    260 list_append	include/linux/netfilter_ipv4/listhelp.h
  149    3    258 DoC_Command	drivers/mtd/devices/doc2001plus.c drivers/mtd/devices/doc2001.c drivers/mtd/devices/doc2000.c
  277    2    257 __tcp_push_pending_frames	include/net/tcp.h
   84    5    256 list_append	include/linux/netfilter_ipv4/listhelp.h
  145    3    250 ntfs_unmap_page	fs/ntfs/ntfs.h
  103    4    249 tcf_tree_lock	include/net/pkt_sched.h
  268    2    248 init_stripe	drivers/md/raid6main.c drivers/md/raid5.c
  144    3    248 add_to_done_queue	drivers/scsi/qla2xxx/qla_listops.h
  265    2    245 BLEND_OP	crypto/sha512.c crypto/sha256.c
  142    3    244 ahd_set_scbptr	drivers/scsi/aic7xxx/aic79xx_inline.h
  101    4    243 list_named_insert	include/linux/netfilter_ipv4/listhelp.h
  141    3    242 tcp_enter_cwr	include/net/tcp.h
   42   12    242 bt_skb_alloc	include/net/bluetooth/bluetooth.h
  100    4    240 _radeon_engine_idle	drivers/video/aty/radeonfb.h drivers/video/radeonfb.c
  254    2    234 xdr_encode_sattr	fs/nfs/nfs3xdr.c fs/nfs/nfs2xdr.c
  254    2    234 pop_ctxt	fs/intermezzo/intermezzo_fs.h
   78    5    232 xfs_bawrite	fs/xfs/linux/xfs_buf.h
   97    4    231 sk_filter	include/net/sock.h
  133    3    226 inet_putpeer	include/net/inetpeer.h
   65    6    225 le_ih_k_type	include/linux/reiserfs_fs.h
  132    3    224 ahd_restore_modes	drivers/scsi/aic7xxx/aic79xx_inline.h
   76    5    224 cfi_read	include/linux/mtd/cfi.h
  131    3    222 ahc_pause	drivers/scsi/aic7xxx/aic7xxx_inline.h
  237    2    217 splice_branch	fs/sysv/itree.c fs/minix/itree_common.c
   51    8    217 __skb_dequeue_tail	include/linux/skbuff.h
  236    2    216 sk_dst_check	include/net/sock.h
  128    3    216 prog_dmabuf_adc	sound/oss/esssolo1.c sound/oss/es1371.c sound/oss/es1370.c
  127    3    214 tcp_writequeue_purge	include/net/tcp.h
  231    2    211 splice_branch	fs/sysv/itree.c fs/minix/itree_common.c
  124    3    208 load_LDT	include/asm/desc.h
  124    3    208 NCR5380_pwrite	drivers/scsi/t128.c drivers/scsi/pas16.c drivers/scsi/dtc.c
   88    4    204 __stop_dac	sound/oss/trident.c sound/oss/i810_audio.c sound/oss/cs46xx.c sound/oss/ali5455.c
   71    5    204 snd_ice1712_restore_gpio_status	sound/pci/ice1712/ice1712.h
  223    2    203 LOAD_OP	crypto/sha512.c crypto/sha256.c
  121    3    202 rxrpc_discard_my_signals	net/rxrpc/internal.h
   87    4    201 ahc_unpause	drivers/scsi/aic7xxx/aic7xxx_inline.h
   52    7    192 __d_drop	include/linux/dcache.h
  115    3    190 NCR5380_pwrite	drivers/scsi/t128.c drivers/scsi/pas16.c drivers/scsi/dtc.c
  115    3    190 NCR5380_pread	drivers/scsi/t128.c drivers/scsi/pas16.c drivers/scsi/dtc.c
  209    2    189 fh_lock	include/linux/nfsd/nfsfh.h
   83    4    189 __stop_adc	sound/oss/trident.c sound/oss/i810_audio.c sound/oss/cs46xx.c sound/oss/ali5455.c
   41   10    189 hlist_add_head	include/linux/list.h
   67    5    188 snd_ice1712_restore_gpio_status	sound/pci/ice1712/ice1712.h
  206    2    186 __ip_vs_wlc_schedule	net/ipv4/ipvs/ip_vs_lblcr.c net/ipv4/ipvs/ip_vs_lblc.c
  112    3    184 hdlcdrv_putbits	include/linux/hdlcdrv.h
   81    4    183 baycom_int_freq	drivers/net/hamradio/baycom_ser_hdx.c drivers/net/hamradio/baycom_ser_fdx.c drivers/net/hamradio/baycom_par.c drivers/net/hamradio/baycom_epp.c
  201    2    181 hdlc_empty_fifo	drivers/isdn/hisax/hisax_fcpcipnp.c drivers/isdn/hisax/avm_pci.c
   50    7    180 DQUOT_INIT	include/linux/quotaops.h
   40   10    180 ip_select_ident	include/net/ip.h
  109    3    178 NCR5380_pread	drivers/scsi/t128.c drivers/scsi/pas16.c drivers/scsi/dtc.c
  108    3    176 orinoco_lock	drivers/net/wireless/orinoco.h
   45    8    175 ld2	sound/oss/trident.h sound/oss/sonicvibes.c sound/oss/esssolo1.c sound/oss/es1371.c sound/oss/es1370.c sound/oss/cmpci.c include/sound/pcm_params.h drivers/usb/class/audio.c
  194    2    174 sock_queue_err_skb	include/net/sock.h
   78    4    174 tcf_tree_unlock	include/net/pkt_sched.h
   63    5    172 jbd_lock_bh_state	include/linux/jbd.h
  188    2    168 waitforCEC	drivers/isdn/hisax/jade_irq.c drivers/isdn/hisax/hscx_irq.c
  104    3    168 stop_dac	sound/oss/sonicvibes.c sound/oss/esssolo1.c sound/oss/cmpci.c
  104    3    168 snd_gf1_select_voice	include/sound/gus.h
   76    4    168 cfi_read_query	include/linux/mtd/cfi.h
  187    2    167 isdn_net_rm_from_bundle	drivers/isdn/i4l/isdn_net.h
  103    3    166 sock_graft	include/net/sock.h
  185    2    165 wv_packet_write	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
   53    6    165 cache_put	include/linux/sunrpc/cache.h
  183    2    163 vlan_hwaccel_rx	include/linux/if_vlan.h
  182    2    162 wv_frequency_list	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
  101    3    162 cleanup_entry	net/ipv6/netfilter/ip6_tables.c net/ipv4/netfilter/ip_tables.c net/ipv4/netfilter/arp_tables.c
   74    4    162 ata_wait_idle	include/linux/libata.h
  100    3    160 NCR5380_pwrite	drivers/scsi/t128.c drivers/scsi/pas16.c drivers/scsi/dtc.c
  100    3    160 NCR5380_pread	drivers/scsi/t128.c drivers/scsi/pas16.c drivers/scsi/dtc.c
   73    4    159 rpc_call	include/linux/sunrpc/clnt.h
   98    3    156 stop_dac	sound/oss/sonicvibes.c sound/oss/esssolo1.c sound/oss/cmpci.c
   72    4    156 tcp_initialize_rcv_mss	include/net/tcp.h
   72    4    156 __stop_dac	sound/oss/trident.c sound/oss/i810_audio.c sound/oss/cs46xx.c sound/oss/ali5455.c
   72    4    156 __stop_adc	sound/oss/trident.c sound/oss/i810_audio.c sound/oss/cs46xx.c sound/oss/ali5455.c
   46    7    156 set_cpu_key_k_offset	include/linux/reiserfs_fs.h
   46    7    156 dst_free	include/net/dst.h
   42    8    154 affs_bread	include/linux/amigaffs.h
   58    5    152 llc_pdu_decode_sa	include/net/llc_pdu.h
   95    3    150 addQ	drivers/block/cciss.c drivers/block/cpqarray.c
   45    7    150 rb_link_node	include/linux/rbtree.h
   57    5    148 jbd_unlock_bh_state	include/linux/jbd.h
   49    6    145 read_reg	drivers/net/irda/stir4200.c drivers/block/paride/pt.c drivers/block/paride/pg.c drivers/block/paride/pf.c drivers/block/paride/pd.c drivers/block/paride/pcd.c
   68    4    144 DQUOT_ALLOC_INODE	include/linux/quotaops.h
   67    4    141 llc_pdu_header_init	include/net/llc_pdu.h
   66    4    138 get_int	include/linux/sunrpc/cache.h
   43    7    138 write_seqlock	include/linux/seqlock.h
   88    3    136 nfs_list_remove_request	include/linux/nfs_page.h
   65    4    135 snd_pcm_stream_lock_irq	include/sound/pcm.h
   65    4    135 set_le_ih_k_offset	include/linux/reiserfs_fs.h
   65    4    135 DQUOT_TRANSFER	include/linux/quotaops.h
   47    6    135 ahc_list_lock	drivers/scsi/aic7xxx/aic7xxx_osm.h
   87    3    134 cfi_write	include/linux/mtd/cfi.h
   86    3    132 save_init_fpu	include/asm/i387.h
   64    4    132 find_inlist_lock_noload	net/ipv6/netfilter/ip6_tables.c net/ipv4/netfilter/ip_tables.c net/ipv4/netfilter/arp_tables.c net/bridge/netfilter/ebtables.c
   42    7    132 write_sequnlock	include/linux/seqlock.h
  151    2    131 tlb_gather_mmu	include/asm-generic/tlb.h
  151    2    131 prog_dmabuf_dac2	sound/oss/es1371.c sound/oss/es1370.c
   46    6    130 diva_os_enter_spin_lock	drivers/isdn/hardware/eicon/platform.h
   63    4    129 writehscx	drivers/isdn/hisax/telespci.c drivers/isdn/hisax/teles0.c
   63    4    129 readhscx	drivers/isdn/hisax/telespci.c drivers/isdn/hisax/teles0.c
  148    2    128 ah_hmac_digest	include/net/ah.h
  147    2    127 tcp_openreq_init	include/net/tcp.h
  146    2    126 ahd_outl	drivers/scsi/aic7xxx/aic79xx_inline.h
   62    4    126 snd_pcm_stream_unlock_irq	include/sound/pcm.h
   62    4    126 is_overloaded	net/ipv4/ipvs/ip_vs_sh.c net/ipv4/ipvs/ip_vs_lblcr.c net/ipv4/ipvs/ip_vs_lblc.c net/ipv4/ipvs/ip_vs_dh.c
   62    4    126 cpufreq_verify_within_limits	include/linux/cpufreq.h
  145    2    125 dir_put_page	fs/sysv/dir.c fs/minix/dir.c
  142    2    122 llc_pdu_init_as_test_rsp	include/net/llc_pdu.h
  141    2    121 __start_adc	sound/oss/i810_audio.c sound/oss/ali5455.c
  139    2    119 radeon_engine_flush	drivers/video/radeonfb.c drivers/video/aty/radeonfb.h
  139    2    119 prog_dmabuf_dac1	sound/oss/es1371.c sound/oss/es1370.c
  139    2    119 esp_hmac_digest	include/net/esp.h
  139    2    119 XFS_bwrite	fs/xfs/linux/xfs_buf.h
   79    3    118 hci_conn_put	include/net/bluetooth/hci_core.h
  137    2    117 add_to_retry_queue	drivers/scsi/qla2xxx/qla_listops.h
   59    4    117 svc_take_page	include/linux/sunrpc/svc.h
   59    4    117 add_two_Xsig	arch/i386/math-emu/poly.h
  136    2    116 ahd_get_scbptr	drivers/scsi/aic7xxx/aic79xx_inline.h
   49    5    116 __pskb_trim	include/linux/skbuff.h
   43    6    115 snd_ice1712_save_gpio_status	sound/pci/ice1712/ice1712.h
   43    6    115 ahc_list_unlock	drivers/scsi/aic7xxx/aic7xxx_osm.h
  134    2    114 locks_verify_truncate	include/linux/fs.h
  134    2    114 ahd_inw_scbram	drivers/scsi/aic7xxx/aic79xx_inline.h
  134    2    114 ahd_inl	drivers/scsi/aic7xxx/aic79xx_inline.h
  131    2    111 ahc_outl	drivers/scsi/aic7xxx/aic7xxx_inline.h
   57    4    111 tcp_set_state	include/net/tcp.h
  130    2    110 isdn_net_add_to_bundle	drivers/isdn/i4l/isdn_net.h
   75    3    110 tcp_prequeue_init	include/net/tcp.h
  129    2    109 add_to_scsi_retry_queue	drivers/scsi/qla2xxx/qla_listops.h
  128    2    108 prog_dmabuf_dac2	sound/oss/es1371.c sound/oss/es1370.c
  128    2    108 _ubh_find_next_zero_bit_	fs/ufs/util.h
   47    5    108 ahd_list_lock	drivers/scsi/aic7xxx/aic79xx_osm.h
  127    2    107 affs_getzeroblk	include/linux/amigaffs.h
  125    2    105 prog_dmabuf_dac1	sound/oss/es1371.c sound/oss/es1370.c
   55    4    105 llc_pdu_decode_da	include/net/llc_pdu.h
   46    5    104 xfs_buf_undelay	fs/xfs/linux/xfs_buf.h
   46    5    104 __skb_trim	include/linux/skbuff.h
  123    2    103 DQUOT_PREALLOC_SPACE	include/linux/quotaops.h
   71    3    102 context_destroy	security/selinux/ss/context.h
  121    2    101 task_sectors	include/linux/ide.h
  121    2    101 fee_wait	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
  121    2    101 afs_discard_my_signals	fs/afs/internal.h
  120    2    100 dump_skb	drivers/atm/horizon.c drivers/atm/ambassador.c
   45    5    100 qla2x00_debounce_register	drivers/scsi/qla2xxx/qla_inline.h
   45    5    100 nfs_revalidate_inode	include/linux/nfs_fs.h
   40    6    100 snd_seq_oss_fill_addr	sound/core/seq/oss/seq_oss_device.h
  119    2     99 ahc_inl	drivers/scsi/aic7xxx/aic7xxx_inline.h
   53    4     99 xdr_decode_hyper	include/linux/sunrpc/xdr.h
  117    2     97 dump_skb	drivers/atm/horizon.c drivers/atm/ambassador.c
   68    3     96 inet_reset_saddr	include/net/ip.h
  115    2     95 waitforCEC	drivers/isdn/hisax/jade_irq.c drivers/isdn/hisax/hscx_irq.c
  115    2     95 fee_wait	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
   67    3     94 __netif_rx_complete	include/linux/netdevice.h
  113    2     93 try_address	drivers/i2c/algos/i2c-algo-pcf.c drivers/i2c/algos/i2c-algo-bit.c
   51    4     93 __stop_dac	sound/oss/trident.c sound/oss/i810_audio.c sound/oss/cs46xx.c sound/oss/ali5455.c
  112    2     92 fib6_walker_unlink	include/net/ip6_fib.h
  112    2     92 ata_irq_on	include/linux/libata.h
   66    3     92 sk_dst_get	include/net/sock.h
   43    5     92 ahd_list_unlock	drivers/scsi/aic7xxx/aic79xx_osm.h
  111    2     91 waitforXFW	drivers/isdn/hisax/jade_irq.c drivers/isdn/hisax/hscx_irq.c
   50    4     90 get_expiry	include/linux/sunrpc/cache.h
  109    2     89 csr1212_rom_cache_malloc	drivers/ieee1394/csr1212.h
  108    2     88 ___add_to_page_cache	include/linux/pagemap.h
   64    3     88 vn_flagset	fs/xfs/linux/xfs_vnode.h
   64    3     88 cpu_key_k_type	include/linux/reiserfs_fs.h
   49    4     87 invalidate_remote_inode	include/linux/fs.h
   49    4     87 hlist_del_init	include/linux/list.h
  106    2     86 next_request	drivers/block/paride/pf.c drivers/block/paride/pcd.c
   63    3     86 __sk_dst_reset	include/net/sock.h
  104    2     84 exit_namespace	include/linux/namespace.h
  104    2     84 cleanup_match	net/ipv6/netfilter/ip6_tables.c net/ipv4/netfilter/ip_tables.c
   62    3     84 skb_unshare	include/linux/skbuff.h
   62    3     84 add_entry_to_counter	net/ipv6/netfilter/ip6_tables.c net/ipv4/netfilter/ip_tables.c net/ipv4/netfilter/arp_tables.c
   48    4     84 fib_res_put	include/net/ip_fib.h
   48    4     84 __stop_adc	sound/oss/trident.c sound/oss/i810_audio.c sound/oss/cs46xx.c sound/oss/ali5455.c
   41    5     84 ax25_cb_put	include/net/ax25.h
  102    2     82 parport_generic_irq	include/linux/parport.h
  101    2     81 __ipq_reset	net/ipv6/netfilter/ip6_queue.c net/ipv4/netfilter/ip_queue.c
   47    4     81 snd_i2c_unlock	include/sound/i2c.h
   47    4     81 snd_i2c_lock	include/sound/i2c.h
  100    2     80 dn_rt_finish_output	include/net/dn_route.h
   60    3     80 add_counter_to_entry	net/ipv6/netfilter/ip6_tables.c net/ipv4/netfilter/ip_tables.c net/ipv4/netfilter/arp_tables.c
   99    2     79 dc390_Going_remove	drivers/scsi/tmscsim.c
   46    4     78 ahd_unlock	drivers/scsi/aic7xxx/aic79xx_osm.h
   46    4     78 ahd_lock	drivers/scsi/aic7xxx/aic79xx_osm.h
   46    4     78 ahc_unlock	drivers/scsi/aic7xxx/aic7xxx_osm.h
   46    4     78 ahc_lock	drivers/scsi/aic7xxx/aic7xxx_osm.h
   46    4     78 __stop_adc	sound/oss/trident.c sound/oss/i810_audio.c sound/oss/cs46xx.c sound/oss/ali5455.c
   95    2     75 mmc_encr	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
   45    4     75 ipv6_addr_set	include/net/ipv6.h
   45    4     75 ide_init_hwif_ports	include/asm/ide.h
   45    4     75 __sk_dst_check	include/net/sock.h
   94    2     74 fat_get_entry	include/linux/msdos_fs.h
   92    2     72 mmc_in	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
   92    2     72 WaitForBusy	drivers/isdn/hisax/hfc_2bs0.c drivers/isdn/hisax/hfc_2bds0.c
   56    3     72 timer_action	drivers/usb/host/ehci.h
   56    3     72 load_esp0	include/asm/processor.h
   56    3     72 fs16_add	fs/ufs/swab.h fs/sysv/sysv.h
   56    3     72 DoC_Command	drivers/mtd/devices/doc2001plus.c drivers/mtd/devices/doc2001.c drivers/mtd/devices/doc2000.c
   91    2     71 tlb_finish_mmu	include/asm-generic/tlb.h
   91    2     71 stop_dac2	sound/oss/es1371.c sound/oss/es1370.c
   91    2     71 stop_dac1	sound/oss/es1371.c sound/oss/es1370.c
   91    2     71 llc_pdu_init_as_xid_rsp	include/net/llc_pdu.h
   91    2     71 llc_pdu_init_as_xid_cmd	include/net/llc_pdu.h
   91    2     71 hci_conn_hash_lookup_ba	include/net/bluetooth/hci_core.h
   90    2     70 qla2x00_enable_intrs	drivers/scsi/qla2xxx/qla_inline.h
   90    2     70 qla2x00_disable_intrs	drivers/scsi/qla2xxx/qla_inline.h
   90    2     70 mmc_encr	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
   90    2     70 hci_dev_hold	include/net/bluetooth/hci_core.h
   90    2     70 __ipq_enqueue_entry	net/ipv6/netfilter/ip6_queue.c net/ipv4/netfilter/ip_queue.c
   55    3     70 snd_vx_inb	include/sound/vx_core.h
   89    2     69 waitforCEC	drivers/isdn/hisax/jade_irq.c drivers/isdn/hisax/hscx_irq.c
   89    2     69 vlan_get_tag	include/linux/if_vlan.h
   89    2     69 WaitForBusy	drivers/isdn/hisax/hfc_2bs0.c drivers/isdn/hisax/hfc_2bds0.c
   43    4     69 verify_chain	fs/sysv/itree.c fs/minix/itree_common.c fs/ext3/inode.c fs/ext2/inode.c
   88    2     68 rdebi	drivers/media/dvb/ttpci/av7110_hw.h
   88    2     68 mmc_in	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
   54    3     68 DoC_WaitReady	drivers/mtd/devices/doc2001plus.c drivers/mtd/devices/doc2001.c drivers/mtd/devices/doc2000.c
   87    2     67 scm_recv	include/net/scm.h
   86    2     66 scm_send	include/net/scm.h
   42    4     66 clear_highpage	include/linux/highmem.h
   85    2     65 insert_hash	drivers/md/raid6main.c drivers/md/raid5.c
   83    2     63 tcp_fast_path_check	include/net/tcp.h
   83    2     63 actcapi_nextsmsg	drivers/isdn/act2000/capi.h
   41    4     63 secpath_reset	include/net/xfrm.h
   41    4     63 IP_ECN_set_ce	include/net/inet_ecn.h
   82    2     62 create_debug_files	drivers/usb/host/ohci-dbg.c drivers/usb/host/ehci-dbg.c
   51    3     62 parport_yield_blocking	include/linux/parport.h
   51    3     62 fs16_add	fs/ufs/swab.h fs/sysv/sysv.h
   81    2     61 __add_to_done_queue	drivers/scsi/qla2xxx/qla_listops.h
   80    2     60 waitforCEC	drivers/isdn/hisax/jade_irq.c drivers/isdn/hisax/hscx_irq.c
   80    2     60 remove_rx_bufs	drivers/net/lp486e.c drivers/net/82596.c
   40    4     60 wait_for_idle	drivers/video/aty/atyfb.h drivers/video/riva/fbdev.c
   40    4     60 ntfs_malloc_nofs	fs/ntfs/malloc.h
   40    4     60 ahc_is_paused	drivers/scsi/aic7xxx/aic7xxx_inline.h
   78    2     58 xdr_decode_fhandle	fs/nfs/nfs3xdr.c fs/nfs/nfs2xdr.c
   78    2     58 ehci_qtd_init	drivers/usb/host/ehci-mem.c
   78    2     58 ecp_sync	drivers/scsi/ppa.c drivers/scsi/imm.c
   78    2     58 __start_dac	sound/oss/i810_audio.c sound/oss/ali5455.c
   77    2     57 waitforCEC	drivers/isdn/hisax/jade_irq.c drivers/isdn/hisax/hscx_irq.c
   77    2     57 cs46xx_dsp_scb_set_volume	sound/pci/cs46xx/dsp_spos.h
   48    3     56 print_name	net/ipv6/netfilter/ip6_tables.c net/ipv4/netfilter/ip_tables.c net/ipv4/netfilter/arp_tables.c
   48    3     56 dn_fib_res_put	include/net/dn_fib.h
   75    2     55 waitforCEC	drivers/isdn/hisax/jade_irq.c drivers/isdn/hisax/hscx_irq.c
   75    2     55 remove_rx_bufs	drivers/net/lp486e.c drivers/net/82596.c
   75    2     55 ahd_pause	drivers/scsi/aic7xxx/aic79xx_inline.h
   74    2     54 waitforCEC	drivers/isdn/hisax/jade_irq.c drivers/isdn/hisax/hscx_irq.c
   74    2     54 tcp_acceptq_queue	include/net/tcp.h
   74    2     54 nfs_unlock_request	include/linux/nfs_page.h
   74    2     54 get_status	drivers/net/wan/wanxl.c drivers/net/3c505.c
   74    2     54 dn_sk_ports_copy	include/net/dn.h
   74    2     54 __ipq_flush	net/ipv6/netfilter/ip6_queue.c net/ipv4/netfilter/ip_queue.c
   47    3     54 scsi_populate_tag_msg	include/scsi/scsi_tcq.h
   47    3     54 bt_skb_send_alloc	include/net/bluetooth/bluetooth.h
   73    2     53 ecp_sync	drivers/scsi/ppa.c drivers/scsi/imm.c
   72    2     52 ipip_ecn_decapsulate	net/ipv4/xfrm4_input.c net/ipv4/ipip.c
   72    2     52 decode_fh	fs/nfsd/nfsxdr.c fs/nfsd/nfs3xdr.c
   71    2     51 offset_ptr	sound/pci/trident/trident_memory.c sound/pci/emu10k1/memory.c
   71    2     51 BLEND_OP	crypto/sha512.c crypto/sha256.c
   70    2     50 waitforXFW	drivers/isdn/hisax/jade_irq.c drivers/isdn/hisax/hscx_irq.c
   70    2     50 waitforCEC	drivers/isdn/hisax/jade_irq.c drivers/isdn/hisax/hscx_irq.c
   70    2     50 ipip_ecn_decapsulate	net/ipv4/xfrm4_input.c net/ipv4/ipip.c
   70    2     50 ipip6_ecn_decapsulate	net/ipv6/xfrm6_input.c net/ipv6/sit.c
   45    3     50 DoC_WaitReady	drivers/mtd/devices/doc2001plus.c drivers/mtd/devices/doc2001.c drivers/mtd/devices/doc2000.c
   69    2     49 encode_fh	fs/nfsd/nfsxdr.c fs/nfsd/nfs3xdr.c
   69    2     49 __start_adc	sound/oss/i810_audio.c sound/oss/ali5455.c
   68    2     48 line_set	drivers/i2c/busses/i2c-parport.c drivers/i2c/busses/i2c-parport-light.c
   68    2     48 fh_copy	include/linux/nfsd/nfsfh.h
   44    3     48 rxrpc_put_message	include/rxrpc/message.h
   44    3     48 jiffies_to_timeval	include/linux/time.h
   66    2     46 waitforCEC	drivers/isdn/hisax/jade_irq.c drivers/isdn/hisax/hscx_irq.c
   66    2     46 ahd_inb_scbram	drivers/scsi/aic7xxx/aic79xx_inline.h
   43    3     46 orinoco_unlock	drivers/net/wireless/orinoco.h
   65    2     45 next_unix_socket	include/net/af_unix.h
   65    2     45 __start_dac	sound/oss/i810_audio.c sound/oss/ali5455.c
   65    2     45 __del_from_retry_queue	drivers/scsi/qla2xxx/qla_listops.h
   65    2     45 RGB24_PUTPIXEL	drivers/usb/media/usbvideo.h
   64    2     44 snd_mask_refine	include/sound/pcm_params.h
   64    2     44 WaitNoBusy	drivers/isdn/hisax/hfc_2bs0.c drivers/isdn/hisax/hfc_2bds0.c
   42    3     44 crypto_comp_decompress	include/linux/crypto.h
   42    3     44 crypto_comp_compress	include/linux/crypto.h
   63    2     43 xfrm_sk_free_policy	include/net/xfrm.h
   63    2     43 writeisac	drivers/isdn/hisax/telespci.c drivers/isdn/hisax/teles0.c
   63    2     43 waitforCEC	drivers/isdn/hisax/jade_irq.c drivers/isdn/hisax/hscx_irq.c
   63    2     43 tcp_select_initial_window	include/net/tcp.h
   63    2     43 tcp_listen_lock	include/net/tcp.h
   63    2     43 readisac	drivers/isdn/hisax/telespci.c drivers/isdn/hisax/teles0.c
   63    2     43 bit_spin_lock	include/linux/spinlock.h
   63    2     43 __sk_dst_set	include/net/sock.h
   63    2     43 __ipq_find_dequeue_entry	net/ipv6/netfilter/ip6_queue.c net/ipv4/netfilter/ip_queue.c
   62    2     42 snd_vx_outb	include/sound/vx_core.h
   62    2     42 WaitNoBusy	drivers/isdn/hisax/hfc_2bs0.c drivers/isdn/hisax/hfc_2bds0.c
   41    3     42 crypto_cipher_set_iv	include/linux/crypto.h
   41    3     42 DoC_WaitReady	drivers/mtd/devices/doc2001plus.c drivers/mtd/devices/doc2001.c drivers/mtd/devices/doc2000.c
   61    2     41 elf_core_copy_regs	include/linux/elfcore.h
   61    2     41 decode_fh	fs/nfsd/nfsxdr.c fs/nfsd/nfs3xdr.c
   60    2     40 decode_filename	fs/nfsd/nfsxdr.c fs/nfsd/nfs3xdr.c
   40    3     40 ahc_flush_device_writes	drivers/scsi/aic7xxx/aic7xxx_osm.h
   59    2     39 dev_get_idx	net/core/dev.c net/atm/resources.c
   59    2     39 crypto_cipher_encrypt_iv	include/linux/crypto.h
   59    2     39 crypto_cipher_decrypt_iv	include/linux/crypto.h
   59    2     39 ahc_inw	drivers/scsi/aic7xxx/aic7xxx_inline.h
   58    2     38 tcp_may_send_now	include/net/tcp.h
   57    2     37 tcp_sync_left_out	include/net/tcp.h
   56    2     36 ipip6_ecn_decapsulate	net/ipv6/xfrm6_input.c net/ipv6/sit.c
   56    2     36 __del_from_pending_queue	drivers/scsi/qla2xxx/qla_listops.h
   56    2     36 __INPLL	drivers/video/aty/radeonfb.h
   55    2     35 wl_spy_gather	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
   54    2     34 vx_reset_dsp	include/sound/vx_core.h
   54    2     34 mmc_out	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
   54    2     34 csum_and_copy_from_user	include/net/checksum.h
   54    2     34 bit_spin_unlock	include/linux/spinlock.h
   53    2     33 tcp_v4_setup_caps	include/net/tcp.h
   53    2     33 hermes_present	drivers/net/wireless/hermes.h
   53    2     33 context_cpy	security/selinux/ss/context.h
   53    2     33 LOAD_OP	crypto/sha512.c crypto/sha256.c
   52    2     32 radeon_engine_flush	drivers/video/radeonfb.c drivers/video/aty/radeonfb.h
   52    2     32 mmc_out	drivers/net/wireless/wavelan_cs.c drivers/net/wireless/wavelan.c
   51    2     31 wr_mem	drivers/atm/horizon.c drivers/atm/ambassador.c
   50    2     30 dev_is_ethdev	drivers/net/wan/lapbether.c drivers/net/hamradio/bpqether.c
   49    2     29 tcp_current_mss	include/net/tcp.h
   49    2     29 remove_debug_files	drivers/usb/host/ohci-dbg.c drivers/usb/host/ehci-dbg.c
   49    2     29 hci_proto_disconn_ind	include/net/bluetooth/hci_core.h
   49    2     29 create_debug_files	drivers/usb/host/ohci-dbg.c drivers/usb/host/ehci-dbg.c
   49    2     29 D_L1L2	drivers/isdn/hisax/st5481_d.c drivers/isdn/hisax/hisax_isac.c
   48    2     28 xdr_decode_fhandle	fs/nfs/nfs3xdr.c fs/nfs/nfs2xdr.c
   48    2     28 irdebi	drivers/media/dvb/ttpci/av7110_hw.h
   48    2     28 hci_conn_hash_lookup_handle	include/net/bluetooth/hci_core.h
   48    2     28 add_page_to_inactive_list	include/linux/mm_inline.h
   48    2     28 add_page_to_active_list	include/linux/mm_inline.h
   47    2     27 snd_interval_setinteger	include/sound/pcm_params.h
   47    2     27 rd_mem	drivers/atm/horizon.c drivers/atm/ambassador.c
   47    2     27 hisax_findcard	drivers/isdn/hisax/config.c drivers/isdn/hisax/callc.c
   47    2     27 frag_kfree_skb	net/ipv6/reassembly.c net/ipv4/ip_fragment.c
   47    2     27 dn_dn2eth	include/net/dn.h
   47    2     27 check_sticky	fs/namei.c fs/intermezzo/vfs.c
   47    2     27 addrconf_addr_solict_mult	include/net/addrconf.h
   47    2     27 __ipq_dequeue_entry	net/ipv6/netfilter/ip6_queue.c net/ipv4/netfilter/ip_queue.c
   46    2     26 sk_filter_release	include/net/sock.h
   46    2     26 sk_add_bind_node	include/net/sock.h
   46    2     26 irttp_listen	include/net/irda/irttp.h
   46    2     26 dn_dev_islocal	include/net/dn_dev.h
   46    2     26 dc390_findDCB	drivers/scsi/tmscsim.c
   46    2     26 __skb_append	include/linux/skbuff.h
   46    2     26 __sk_add_node	include/net/sock.h
   46    2     26 B_L1L2	drivers/isdn/hisax/st5481_b.c drivers/isdn/hisax/hisax_fcpcipnp.c
   45    2     25 percpu_counter_init	include/linux/percpu_counter.h
   45    2     25 jbd_trylock_bh_state	include/linux/jbd.h
   45    2     25 ipv6_addr_all_routers	include/net/addrconf.h
   45    2     25 ipv6_addr_all_nodes	include/net/addrconf.h
   45    2     25 init_sigpending	include/linux/signal.h
   45    2     25 hlist_del	include/linux/list.h
   45    2     25 bitset_set	sound/core/oss/pcm_plugin.h
   44    2     24 skb_fill_page_desc	include/linux/skbuff.h
   44    2     24 r128_update_ring_snapshot	drivers/char/drm/r128_drv.h
   44    2     24 ahc_get_scb	drivers/scsi/aic7xxx/aic7xxx_inline.h
   44    2     24 __set_tss_desc	include/asm/desc.h
   43    2     23 locks_verify_locked	include/linux/fs.h
   43    2     23 line_set	drivers/i2c/busses/i2c-parport.c drivers/i2c/busses/i2c-parport-light.c
   43    2     23 crypto_cipher_get_iv	include/linux/crypto.h
   42    2     22 raid6_after_mmx	drivers/md/raid6x86.h
   42    2     22 chan2dev	drivers/isdn/pcbit/layer2.h
   42    2     22 __add_wait_queue	include/linux/wait.h
   41    2     21 first_unix_socket	include/net/af_unix.h
   41    2     21 dirty_sb	fs/sysv/sysv.h
   41    2     21 aac_list_del	drivers/scsi/aacraid/aacraid.h
   41    2     21 __remove_wait_queue	include/linux/wait.h
   41    2     21 __add_wait_queue_tail	include/linux/wait.h
   40    2     20 tcp_listen_unlock	include/net/tcp.h
   40    2     20 snd_ice1712_gpio_write_bits	sound/pci/ice1712/ice1712.h
   40    2     20 ser12_set_divisor	drivers/net/hamradio/baycom_ser_hdx.c drivers/net/hamradio/baycom_ser_fdx.c
   40    2     20 ip_vs_check_diff	include/net/ip_vs.h
           ======
           309519 Total bytes wasted

[-- Attachment #2: inline_hunter.tar.gz --]
[-- Type: application/x-tgz, Size: 3400 bytes --]

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

* [PATCH] deinline put_page if CONFIG_HUGETLB_PAGE=y
  2004-04-16 19:30 inline_hunter 0.2 and it's results Denis Vlasenko
@ 2004-04-16 19:54 ` Denis Vlasenko
  2004-04-16 20:06   ` Andrew Morton
  2004-04-19 21:40 ` inline_hunter 0.2 and it's results Kevin O'Connor
  1 sibling, 1 reply; 7+ messages in thread
From: Denis Vlasenko @ 2004-04-16 19:54 UTC (permalink / raw)
  To: linux-kernel; +Cc: Andrew Morton

[-- Attachment #1: Type: text/plain, Size: 892 bytes --]

On Friday 16 April 2004 22:30, Denis Vlasenko wrote:
> This is next version of 'inline hunter', a tool designed to find
> inlines which are large. It has bug fixes and improvements suggested
> by readers of lkml. Tarball and results are below sig.
>
> Matt, you may simply replace earlier version with this one.
> --
> vda
>
> Size  Uses Wasted Name and definition
> ===== ==== ====== ================================================
>    56  461  16560 copy_from_user	include/asm/uaccess.h
>   122  119  12036 skb_dequeue	include/linux/skbuff.h
>   164   78  11088 skb_queue_purge	include/linux/skbuff.h
>    97  141  10780 netif_wake_queue	include/linux/netdevice.h
>    43  468  10741 copy_to_user	include/asm/uaccess.h
>    43  461  10580 copy_from_user	include/asm/uaccess.h
>   145   77   9500 put_page	include/linux/mm.h

This patch deinlines put_page if CONFIG_HUGETLB_PAGE=y.
--
vda

[-- Attachment #2: linux-2.6.5.mm_inline1.patch --]
[-- Type: text/x-diff, Size: 1593 bytes --]

diff -urN linux-2.6.5.orig/include/linux/mm.h linux-2.6.5.mm_inline1/include/linux/mm.h
--- linux-2.6.5.orig/include/linux/mm.h	Sun Apr  4 06:36:15 2004
+++ linux-2.6.5.mm_inline1/include/linux/mm.h	Fri Apr 16 22:49:18 2004
@@ -253,22 +253,7 @@
 	atomic_inc(&page->count);
 }
 
-static inline void put_page(struct page *page)
-{
-	if (PageCompound(page)) {
-		page = (struct page *)page->lru.next;
-		if (put_page_testzero(page)) {
-			if (page->lru.prev) {	/* destructor? */
-				(*(void (*)(struct page *))page->lru.prev)(page);
-			} else {
-				__page_cache_release(page);
-			}
-		}
-		return;
-	}
-	if (!PageReserved(page) && put_page_testzero(page))
-		__page_cache_release(page);
-}
+void put_page(struct page *page);
 
 #else		/* CONFIG_HUGETLB_PAGE */
 
diff -urN linux-2.6.5.orig/mm/page_alloc.c linux-2.6.5.mm_inline1/mm/page_alloc.c
--- linux-2.6.5.orig/mm/page_alloc.c	Sun Apr  4 06:36:17 2004
+++ linux-2.6.5.mm_inline1/mm/page_alloc.c	Fri Apr 16 22:49:51 2004
@@ -109,6 +109,24 @@
  * This is only for debug at present.  This usage means that zero-order pages
  * may not be compound.
  */
+
+void put_page(struct page *page)
+{
+	if (PageCompound(page)) {
+		page = (struct page *)page->lru.next;
+		if (put_page_testzero(page)) {
+			if (page->lru.prev) {	/* destructor? */
+				(*(void (*)(struct page *))page->lru.prev)(page);
+			} else {
+				__page_cache_release(page);
+			}
+		}
+		return;
+	}
+	if (!PageReserved(page) && put_page_testzero(page))
+		__page_cache_release(page);
+}
+
 static void prep_compound_page(struct page *page, unsigned long order)
 {
 	int i;

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

* Re: [PATCH] deinline put_page if CONFIG_HUGETLB_PAGE=y
  2004-04-16 19:54 ` [PATCH] deinline put_page if CONFIG_HUGETLB_PAGE=y Denis Vlasenko
@ 2004-04-16 20:06   ` Andrew Morton
  0 siblings, 0 replies; 7+ messages in thread
From: Andrew Morton @ 2004-04-16 20:06 UTC (permalink / raw)
  To: Denis Vlasenko; +Cc: linux-kernel

Denis Vlasenko <vda@port.imtp.ilyichevsk.odessa.ua> wrote:
>
> This patch deinlines put_page if CONFIG_HUGETLB_PAGE=y.

You'll be impressed to hear that your patch was merged two days before you
wrote it ;)

(You're missing an EXPORT_SYMBOL btw)

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

* Re: inline_hunter 0.2 and it's results
  2004-04-16 19:30 inline_hunter 0.2 and it's results Denis Vlasenko
  2004-04-16 19:54 ` [PATCH] deinline put_page if CONFIG_HUGETLB_PAGE=y Denis Vlasenko
@ 2004-04-19 21:40 ` Kevin O'Connor
  2004-04-21  6:01   ` Denis Vlasenko
  1 sibling, 1 reply; 7+ messages in thread
From: Kevin O'Connor @ 2004-04-19 21:40 UTC (permalink / raw)
  To: Denis Vlasenko; +Cc: linux-kernel

On Fri, Apr 16, 2004 at 10:30:40PM +0300, Denis Vlasenko wrote:
> Size  Uses Wasted Name and definition
> ===== ==== ====== ================================================
>    56  461  16560 copy_from_user	include/asm/uaccess.h
>   122  119  12036 skb_dequeue	include/linux/skbuff.h
>   164   78  11088 skb_queue_purge	include/linux/skbuff.h
>    97  141  10780 netif_wake_queue	include/linux/netdevice.h
>    43  468  10741 copy_to_user	include/asm/uaccess.h
>    43  461  10580 copy_from_user	include/asm/uaccess.h

Hi Denis,

Why are there two copy_from_user lines?

Thanks,
-Kevin

-- 
 ---------------------------------------------------------------------
 | Kevin O'Connor                  "BTW, IMHO we need a FAQ for      |
 | kevin@koconnor.net               'IMHO', 'FAQ', 'BTW', etc. !"    |
 ---------------------------------------------------------------------

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

* Re: inline_hunter 0.2 and it's results
  2004-04-19 21:40 ` inline_hunter 0.2 and it's results Kevin O'Connor
@ 2004-04-21  6:01   ` Denis Vlasenko
  2004-04-21  6:29     ` Denis Vlasenko
  2004-04-21 18:00     ` Kevin O'Connor
  0 siblings, 2 replies; 7+ messages in thread
From: Denis Vlasenko @ 2004-04-21  6:01 UTC (permalink / raw)
  To: Kevin O'Connor; +Cc: linux-kernel

[resend, I don't see my mail on lkml.org]

On Tuesday 20 April 2004 00:40, Kevin O'Connor wrote:
> On Fri, Apr 16, 2004 at 10:30:40PM +0300, Denis Vlasenko wrote:
> > Size  Uses Wasted Name and definition
> > ===== ==== ====== ================================================
> >    56  461  16560 copy_from_user    include/asm/uaccess.h
> >   122  119  12036 skb_dequeue       include/linux/skbuff.h
> >   164   78  11088 skb_queue_purge   include/linux/skbuff.h
> >    97  141  10780 netif_wake_queue  include/linux/netdevice.h
> >    43  468  10741 copy_to_user      include/asm/uaccess.h
> >    43  461  10580 copy_from_user    include/asm/uaccess.h
>
> Hi Denis,
>
> Why are there two copy_from_user lines?

Good question!

...(/me digs into this)...

Because there are files which has 56 byte copy_from_user().
Namely these:

56 copy_from_user tree/sound/oss/audio.o
56 copy_from_user tree/net/atm/svc.o
56 copy_from_user tree/net/atm/resources.o
56 copy_from_user tree/fs/open.o
56 copy_from_user tree/drivers/video/sstfb.o
56 copy_from_user tree/drivers/video/fbcmap.o
56 copy_from_user tree/drivers/net/pppoe.o

Rest of them (~400 files) has 43 byte one.

disasm, diff of
void inline_copy_from_user_3(void) { copy_from_user(0,0,0); }
yields:

--- copy_from_user_43   Tue Apr 20 23:40:07 2004
+++ copy_from_user_56   Tue Apr 20 23:41:23 2004
@@ -11,11 +11,16 @@
        39 5a 18                cmp    %ebx,0x18(%edx)
        83 d9 00                sbb    $0x0,%ecx
        85 c9                   test   %ecx,%ecx
-       75 0b                   jne    XXXX <inline_copy_from_user_3+0x28>
+       75 0d                   jne    XXXX <inline_copy_from_user_3+0x2a>
        31 c9                   xor    %ecx,%ecx
        31 d2                   xor    %edx,%edx
        31 c0                   xor    %eax,%eax
        e8 fc ff ff ff          call   XXXX <inline_copy_from_user_3+0x24>
+       eb 0b                   jmp    XXXX <inline_copy_from_user_3+0x35>
+       31 c9                   xor    %ecx,%ecx
+       31 d2                   xor    %edx,%edx
+       31 c0                   xor    %eax,%eax
+       e8 4f 01 00 00          call   XXXX <__constant_c_and_count_memset>
        5b                      pop    %ebx
        c9                      leave
        c3                      ret

oops... we've got files which do not honor 'inline' on
__constant_c_and_count_memset()! For example,

fs/open.c:
==========
#include <linux/string.h>
        this pulls __constant_c_and_count_memset()
#include <linux/mm.h>
        this pulls <compiler.h>, re#defining
        inline == __inline__ __attribute__((always_inline)).
        too late!
#include <linux/utime.h>
#include <linux/file.h>
#include <linux/smp_lock.h>
#include <linux/quotaops.h>
#include <linux/dnotify.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/tty.h>
#include <linux/namei.h>
#include <linux/backing-dev.h>
#include <linux/security.h>
#include <linux/mount.h>
#include <linux/vfs.h>
#include <asm/uaccess.h>
#include <linux/fs.h>
#include <linux/pagemap.h>

Will do patch tomorrow.
--
vda

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

* Re: inline_hunter 0.2 and it's results
  2004-04-21  6:01   ` Denis Vlasenko
@ 2004-04-21  6:29     ` Denis Vlasenko
  2004-04-21 18:00     ` Kevin O'Connor
  1 sibling, 0 replies; 7+ messages in thread
From: Denis Vlasenko @ 2004-04-21  6:29 UTC (permalink / raw)
  To: Kevin O'Connor, Andrew Morton; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1737 bytes --]

> disasm, diff of
> void inline_copy_from_user_3(void) { copy_from_user(0,0,0); }
> yields:
>
> --- copy_from_user_43   Tue Apr 20 23:40:07 2004
> +++ copy_from_user_56   Tue Apr 20 23:41:23 2004
> @@ -11,11 +11,16 @@
>         39 5a 18                cmp    %ebx,0x18(%edx)
>         83 d9 00                sbb    $0x0,%ecx
>         85 c9                   test   %ecx,%ecx
> -       75 0b                   jne    XXXX <inline_copy_from_user_3+0x28>
> +       75 0d                   jne    XXXX <inline_copy_from_user_3+0x2a>
>         31 c9                   xor    %ecx,%ecx
>         31 d2                   xor    %edx,%edx
>         31 c0                   xor    %eax,%eax
>         e8 fc ff ff ff          call   XXXX <inline_copy_from_user_3+0x24>
> +       eb 0b                   jmp    XXXX <inline_copy_from_user_3+0x35>
> +       31 c9                   xor    %ecx,%ecx
> +       31 d2                   xor    %edx,%edx
> +       31 c0                   xor    %eax,%eax
> +       e8 4f 01 00 00          call   XXXX <__constant_c_and_count_memset>
>         5b                      pop    %ebx
>         c9                      leave
>         c3                      ret
>
> oops... we've got files which do not honor 'inline' on
> __constant_c_and_count_memset()! For example,
>
> fs/open.c:
> ==========
> #include <linux/string.h>
>         this pulls __constant_c_and_count_memset()
> #include <linux/mm.h>
>         this pulls <compiler.h>, re#defining
>         inline == __inline__ __attribute__((always_inline)).
>         too late!
> #include <linux/utime.h>
>
> Will do patch tomorrow.

All affected files #include strings.h
This should fix it. Untested.
-- 
vda

[-- Attachment #2: include_compiler_h.patch --]
[-- Type: text/x-diff, Size: 410 bytes --]

diff -urN linux-2.6.5/include/linux/string.h linux-2.6.5.fixed_includes/include/linux/string.h
--- linux-2.6.5/include/linux/string.h	Sun Apr  4 06:36:56 2004
+++ linux-2.6.5.fixed_includes/include/linux/string.h	Wed Apr 21 09:17:32 2004
@@ -5,6 +5,7 @@
 
 #ifdef __KERNEL__
 
+#include <linux/compiler.h>	/* for inline */
 #include <linux/types.h>	/* for size_t */
 #include <linux/stddef.h>	/* for NULL */
 

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

* Re: inline_hunter 0.2 and it's results
  2004-04-21  6:01   ` Denis Vlasenko
  2004-04-21  6:29     ` Denis Vlasenko
@ 2004-04-21 18:00     ` Kevin O'Connor
  1 sibling, 0 replies; 7+ messages in thread
From: Kevin O'Connor @ 2004-04-21 18:00 UTC (permalink / raw)
  To: Denis Vlasenko; +Cc: linux-kernel

On Wed, Apr 21, 2004 at 09:01:48AM +0300, Denis Vlasenko wrote:
> > Why are there two copy_from_user lines?
[...]
> Because there are files which has 56 byte copy_from_user().
[...]
> Rest of them (~400 files) has 43 byte one.

Hi Denis,

Does this mean copy_from_user is really "wasting" 10K, 16K, or 26K?  If I
understand your email correctly the 10K number is the most accurate..

Great work - thanks!
-Kevin

-- 
 ---------------------------------------------------------------------
 | Kevin O'Connor                  "BTW, IMHO we need a FAQ for      |
 | kevin@koconnor.net               'IMHO', 'FAQ', 'BTW', etc. !"    |
 ---------------------------------------------------------------------

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

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

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-04-16 19:30 inline_hunter 0.2 and it's results Denis Vlasenko
2004-04-16 19:54 ` [PATCH] deinline put_page if CONFIG_HUGETLB_PAGE=y Denis Vlasenko
2004-04-16 20:06   ` Andrew Morton
2004-04-19 21:40 ` inline_hunter 0.2 and it's results Kevin O'Connor
2004-04-21  6:01   ` Denis Vlasenko
2004-04-21  6:29     ` Denis Vlasenko
2004-04-21 18:00     ` Kevin O'Connor

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

all inboxes | Powered by JetHome®