From: Patrick McHardy <kaber@trash.net>
To: Joe Perches <joe@perches.com>
Cc: David Miller <davem@davemloft.net>,
johannes@sipsolutions.net, harvey.harrison@gmail.com,
netdev@vger.kernel.org
Subject: Re: New sparse warning in net/mac80211/debugfs_sta.c
Date: Tue, 08 Apr 2008 22:18:18 +0200 [thread overview]
Message-ID: <47FBD30A.1010003@trash.net> (raw)
In-Reply-To: <1203969502.19319.279.camel@localhost>
[-- Attachment #1: Type: text/plain, Size: 1890 bytes --]
Joe Perches wrote:
> On Mon, 2008-02-25 at 12:47 +0100, Patrick McHardy wrote:
>> It would be good if Joe could go through the remaining print_mac users
>> and convert the remaining unintended function calls in fastpaths back
>> to MAC_FMT. Grepping for "start_xmit" in commit 0795af5729b shows that
>> at least 10 hard_start_xmit functions are affected and I expect that
>> some of the changes in the wireless code affect fastpaths as well.
>
> I don't mind doing that, as calling print_mac in these fastpaths in
> unintentional and undesirable.
Unfortunately the current tree still includes all the fallout,
are you planning on cleaning this up again any time soon?
I've attached a codiff of a tree with and without this change
(might not include all drivers, but I think I enabled all that
build on x86_64). The _probe and _init_one functions should
be harmless, but there are lots of functions that look like
they would prefer to avoid useless overhead. A small sample:
drivers/net/starfire.c:
netdev_poll | +50
drivers/net/tokenring/olympic.c:
olympic_interrupt | +10
drivers/net/wan/pc300_drv.c:
cpc_net_rx | +11
drivers/net/wireless/ipw2200.c:
ipw_net_hard_start_xmit | +32
drivers/net/wireless/hostap/hostap_80211_rx.c:
hostap_rx_frame_decrypt | +27
hostap_80211_rx | +96
drivers/net/wireless/hostap/hostap_80211_tx.c:
hostap_master_start_xmit | +18
drivers/net/wireless/hostap/hostap_ap.c:
hostap_handle_sta_tx_exc | +13
hostap_ap_tx_cb_poll | +9
hostap_rx | +254
hostap_ap_tx_cb_auth | +62
hostap_ap_tx_cb_assoc | +26
hostap_handle_sta_tx | +90
hostap_handle_sta_rx | +63
<lots more wireless>
drivers/net/virtio_net.c:
start_xmit | +19
net/atm/lec.c:
lec_start_xmit | +118
lec_atm_send | +2
net/ieee80211/ieee80211_rx.c:
ieee80211_rx | +32
[-- Attachment #2: diff --]
[-- Type: text/plain, Size: 13221 bytes --]
drivers/net/e1000/e1000_main.c:
e1000_probe | +32
1 function changed, 32 bytes added
drivers/net/bonding/bond_main.c:
bond_info_seq_show | +14
bond_release | +12
2 functions changed, 26 bytes added
drivers/net/bonding/bond_sysfs.c:
bonding_show_ad_partner_mac | +29
1 function changed, 29 bytes added
drivers/net/rrunner.c:
rr_init_one | +30
1 function changed, 30 bytes added
drivers/net/sunhme.c:
happy_meal_pci_probe | +16
1 function changed, 16 bytes added
drivers/net/sungem.c:
gem_init_one | +16
1 function changed, 16 bytes added
drivers/net/cassini.c:
cas_init_one | +3
1 function changed, 3 bytes added
drivers/net/3c59x.c:
vortex_probe1 | +16
1 function changed, 16 bytes added
drivers/net/typhoon.c:
typhoon_init_one | +51
1 function changed, 51 bytes added
drivers/net/ne2k-pci.c:
ne2k_pci_init_one | +42
1 function changed, 42 bytes added
drivers/net/pcnet32.c:
pcnet32_probe1 | +32
1 function changed, 32 bytes added
drivers/net/eepro100.c:
eepro100_init_one | +21
1 function changed, 21 bytes added
drivers/net/e100.c:
e100_probe | +12
1 function changed, 12 bytes added
drivers/net/epic100.c:
epic_init_one | +16
1 function changed, 16 bytes added
drivers/net/sis190.c:
sis190_init_one | +31
1 function changed, 31 bytes added
drivers/net/sis900.c:
sis900_probe | +44
1 function changed, 44 bytes added
drivers/net/yellowfin.c:
yellowfin_init_one | +76
1 function changed, 76 bytes added
drivers/net/acenic.c:
acenic_probe_one | +17
1 function changed, 17 bytes added
drivers/net/natsemi.c:
natsemi_probe1 | +31
1 function changed, 31 bytes added
drivers/net/ns83820.c:
ns83820_init_one | +30
1 function changed, 30 bytes added
drivers/net/fealnx.c:
fealnx_init_one | +45
1 function changed, 45 bytes added
drivers/net/tg3.c:
tg3_init_one | +112
1 function changed, 112 bytes added
drivers/net/bnx2.c:
bnx2_init_one | +81
1 function changed, 81 bytes added
drivers/net/bnx2x.c:
bnx2x_init_one | +16
1 function changed, 16 bytes added
drivers/net/skge.c:
skge_show_addr | +22
1 function changed, 22 bytes added
drivers/net/sky2.c:
sky2_show_addr | +22
1 function changed, 22 bytes added
drivers/net/via-rhine.c:
rhine_init_one | +23
1 function changed, 23 bytes added
drivers/net/starfire.c:
netdev_poll | +50
starfire_init_one | +16
2 functions changed, 66 bytes added
drivers/net/sundance.c:
sundance_probe1 | +34
1 function changed, 34 bytes added
drivers/net/hamachi.c:
hamachi_init_one | +13
1 function changed, 13 bytes added
drivers/net/b44.c:
b44_init_one | +18
1 function changed, 18 bytes added
drivers/net/forcedeth.c:
nv_probe | +48
1 function changed, 48 bytes added
drivers/net/qla3xxx.c:
ql3xxx_probe | +4
1 function changed, 4 bytes added
drivers/net/pppoe.c:
pppoe_seq_show | +39
1 function changed, 39 bytes added
drivers/net/de600.c:
de600_init | +26
1 function changed, 26 bytes added
drivers/net/de620.c:
de620_probe | +16
1 function changed, 16 bytes added
drivers/net/8139cp.c:
cp_init_one | +32
1 function changed, 32 bytes added
drivers/net/8139too.c:
rtl8139_init_one | +74
1 function changed, 74 bytes added
drivers/net/atp.c:
atp_probe1 | +8
1 function changed, 8 bytes added
drivers/net/dl2k.c:
rio_probe1 | +16
1 function changed, 16 bytes added
drivers/net/amd8111e.c:
amd8111e_probe_one | +16
1 function changed, 16 bytes added
drivers/net/s2io.c:
s2io_init_nic | +3
1 function changed, 3 bytes added
drivers/net/myri10ge/myri10ge.c:
myri10ge_set_multicast_list | +16
1 function changed, 16 bytes added
drivers/net/tokenring/olympic.c:
olympic_proc_info | +310
olympic_open | +76
olympic_interrupt | +10
3 functions changed, 396 bytes added
drivers/net/tokenring/abyss.c:
abyss_attach | +15
1 function changed, 15 bytes added
drivers/net/tokenring/tmspci.c:
tms_pci_attach | +16
1 function changed, 16 bytes added
drivers/net/wan/pc300_drv.c:
cpc_net_rx | +11
1 function changed, 11 bytes added
drivers/net/wan/wanxl.c:
wanxl_pci_init_one | -3
1 function changed, 3 bytes removed
drivers/net/usb/pegasus.c:
pegasus_probe | +69
1 function changed, 69 bytes added
drivers/net/usb/usbnet.c:
usbnet_probe | +13
1 function changed, 13 bytes added
drivers/net/wireless/ipw2100.c:
show_bssinfo | +21
1 function changed, 21 bytes added
drivers/net/wireless/ipw2200.c:
ipw_send_disassociate | +46
ipw_associate_network | +18
ipw_debug_config | +32
ipw_best_network | +241
ipw_up | +9
ipw_add_station | +15
ipw_rx_notification | +139
ipw_wx_set_wap | +8
ipw_wx_get_wap | +20
ipw_net_hard_start_xmit | +32
ipw_net_set_mac_address | +9
ipw_irq_tasklet | +29
12 functions changed, 598 bytes added
drivers/net/wireless/orinoco.c:
orinoco_init | +80
1 function changed, 80 bytes added
drivers/net/wireless/airo.c:
reset_airo_card | +14
_init_airo_card | +17
proc_APList_open | +14
proc_BSSList_open | +46
4 functions changed, 91 bytes added
drivers/net/wireless/atmel.c:
init_atmel_card | +5
1 function changed, 5 bytes added
drivers/net/wireless/prism54/isl_ioctl.c:
send_formatted_event | +25
prism54_process_trap | +41
2 functions changed, 66 bytes added
drivers/net/wireless/hostap/hostap_80211_rx.c:
hostap_dump_rx_80211 | +34
hostap_rx_frame_decrypt | +27
hostap_80211_rx | +96
3 functions changed, 157 bytes added
drivers/net/wireless/hostap/hostap_80211_tx.c:
hostap_dump_tx_80211 | +29
hostap_master_start_xmit | +18
2 functions changed, 47 bytes added
drivers/net/wireless/hostap/hostap_ap.c:
ap_sta_hash_del | +29
hostap_handle_sta_tx_exc | +13
ap_free_sta | -5
prism2_ap_proc_read | +28
ap_control_proc_read | +26
handle_assoc | +48
hostap_ap_tx_cb_poll | +9
hostap_rx | +254
handle_wds_oper_queue | +28
hostap_ap_tx_cb_auth | +62
hostap_ap_tx_cb_assoc | +26
handle_add_proc_queue | -11
hostap_handle_sta_tx | +90
hostap_handle_sta_rx | +63
prism2_sta_proc_read | +150
ap_handle_timer | +36
16 functions changed, 862 bytes added, 16 bytes removed, diff: +846
drivers/net/wireless/hostap/hostap_info.c:
prism2_host_roaming | +37
handle_info_queue | -16
2 functions changed, 37 bytes added, 16 bytes removed, diff: +21
drivers/net/wireless/hostap/hostap_ioctl.c:
hostap_ioctl | +17
prism2_ioctl_siwap | +29
2 functions changed, 46 bytes added
drivers/net/wireless/hostap/hostap_main.c:
hostap_dump_tx_header | +201
hostap_dump_rx_header | +125
2 functions changed, 326 bytes added
drivers/net/wireless/hostap/hostap_proc.c:
prism2_scan_results_proc_read | -9
prism2_bss_list_proc_read | +36
prism2_wds_proc_read | +12
3 functions changed, 48 bytes added, 9 bytes removed, diff: +39
drivers/net/wireless/hostap/hostap_plx.c:
hostap_bap_tasklet | +19
1 function changed, 19 bytes added
drivers/net/wireless/hostap/hostap_pci.c:
hostap_bap_tasklet | +32
1 function changed, 32 bytes added
drivers/net/wireless/libertas/cmd.c:
lbs_update_hw_spec | +81
1 function changed, 81 bytes added
drivers/net/wireless/libertas/debugfs.c:
lbs_getscantable | +9
1 function changed, 9 bytes added
drivers/net/wireless/rtl8180_dev.c:
rtl8180_probe | +13
1 function changed, 13 bytes added
drivers/net/wireless/rtl8187_dev.c:
rtl8187_probe | +7
1 function changed, 7 bytes added
drivers/net/wireless/adm8211.c:
adm8211_probe | +28
1 function changed, 28 bytes added
drivers/net/wireless/iwlwifi/iwl3945-base.c:
iwl3945_add_station | +7
iwl3945_commit_rxon | +33
iwl3945_mac_tx | +69
iwl3945_mac_set_key | +22
iwl3945_pci_probe | +17
iwl3945_bg_post_associate | -24
iwl3945_mac_add_interface | +4
iwl3945_mac_config_interface | +31
8 functions changed, 183 bytes added, 24 bytes removed, diff: +159
drivers/net/wireless/iwlwifi/iwl-3945.c:
iwl3945_rx_reply_rx | +161
iwl3945_hw_find_station | +24
2 functions changed, 185 bytes added
drivers/net/wireless/iwlwifi/iwl-3945-rs.c:
rs_get_rate | -16
1 function changed, 16 bytes removed
drivers/net/wireless/iwlwifi/iwl4965-base.c:
iwl4965_add_station_flags | +12
iwl4965_commit_rxon | +16
iwl4965_mac_tx | +31
iwl4965_mac_set_key | +22
iwl4965_pci_probe | +16
iwl4965_bg_post_associate | -19
iwl4965_mac_add_interface | +4
iwl4965_mac_config_interface | +31
8 functions changed, 132 bytes added, 19 bytes removed, diff: +113
drivers/net/wireless/iwlwifi/iwl-4965.c:
iwl4965_hw_find_station | +17
iwl4965_rx_reply_rx | +167
2 functions changed, 184 bytes added
drivers/net/wireless/iwlwifi/iwl-4965-rs.c:
rs_rate_init | +30
rs_get_rate | +10
2 functions changed, 40 bytes added
drivers/net/wireless/p54usb.c:
p54u_probe | +41
1 function changed, 41 bytes added
drivers/net/wireless/p54pci.c:
p54p_probe | +44
1 function changed, 44 bytes added
drivers/net/tulip/dmfe.c:
dmfe_init_one | +25
1 function changed, 25 bytes added
drivers/net/tulip/winbond-840.c:
w840_probe1 | +16
intr_handler | +112
2 functions changed, 128 bytes added
drivers/net/tulip/de2104x.c:
de_init_one | +23
1 function changed, 23 bytes added
drivers/net/tulip/tulip_core.c:
set_rx_mode | +16
tulip_init_one | +60
2 functions changed, 76 bytes added
drivers/net/tulip/de4x5.c:
DevicePresent | +11
de4x5_interrupt | -2
de4x5_pci_probe | +32
3 functions changed, 43 bytes added, 2 bytes removed, diff: +41
drivers/net/tulip/uli526x.c:
uli526x_init_one | +9
1 function changed, 9 bytes added
drivers/net/netconsole.c:
show_remote_mac | +16
show_local_mac | +13
2 functions changed, 29 bytes added
drivers/net/netxen/netxen_nic_main.c:
netxen_nic_probe | +45
1 function changed, 45 bytes added
drivers/net/netxen/netxen_nic_init.c:
netxen_rom_se | +3
1 function changed, 3 bytes added
drivers/net/netxen/netxen_nic_niu.c:
netxen_niu_macaddr_set | +21
1 function changed, 21 bytes added
drivers/net/niu.c:
niu_pci_init_one | +35
1 function changed, 35 bytes added
drivers/net/virtio_net.c:
start_xmit | +19
1 function changed, 19 bytes added
net/core/pktgen.c:
pktgen_if_show | +88
1 function changed, 88 bytes added
net/core/netpoll.c:
netpoll_print_options | +17
1 function changed, 17 bytes added
net/llc/llc_proc.c:
llc_ui_format_mac | +21
1 function changed, 21 bytes added
net/ethernet/eth.c:
sysfs_format_mac | -115
1 function changed, 115 bytes removed
net/802/tr.c:
rif_seq_show | +6
1 function changed, 6 bytes added
net/appletalk/aarp.c:
aarp_seq_show | +15
1 function changed, 15 bytes added
net/atm/br2684.c:
br2684_seq_show | +17
1 function changed, 17 bytes added
net/atm/lec.c:
lec_start_xmit | +118
lec_atm_send | +2
2 functions changed, 120 bytes added
net/mac80211/ieee80211.c:
ieee80211_if_update_wds | +14
1 function changed, 14 bytes added
net/mac80211/sta_info.c:
sta_info_cleanup | +24
1 function changed, 24 bytes added
net/mac80211/wpa.c:
ieee80211_rx_h_michael_mic_verify | +11
1 function changed, 11 bytes added
net/mac80211/ieee80211_sta.c:
ieee80211_handle_erp_ie | +28
ieee80211_associate | +15
ieee80211_sta_find_ibss | +20
ieee80211_rx_bss_info | +16
ieee80211_associated | +16
ieee80211_rx_mgmt_assoc_resp | +96
ieee80211_ibss_add_sta | +23
ieee80211_sta_work | -3608
ieee80211_sta_scan_results | -4
9 functions changed, 214 bytes added, 3612 bytes removed, diff: -3398
net/mac80211/rx.c:
ieee80211_data_to_8023 | +262
__ieee80211_rx_handle_packet | +48
ieee80211_rx_h_defragment | +82
3 functions changed, 392 bytes added
net/mac80211/tx.c:
ieee80211_tx_h_ps_buf | +8
1 function changed, 8 bytes added
net/mac80211/key.c:
ieee80211_key_disable_hw_accel | +24
ieee80211_key_enable_hw_accel | +15
2 functions changed, 39 bytes added
net/mac80211/event.c:
mac80211_ev_michael_mic_failure | +14
1 function changed, 14 bytes added
net/ieee80211/ieee80211_rx.c:
ieee80211_rx | +32
1 function changed, 32 bytes added
net/ieee80211/ieee80211_crypt_ccmp.c:
ieee80211_ccmp_decrypt | +114
1 function changed, 114 bytes added
net/ieee80211/ieee80211_crypt_tkip.c:
ieee80211_michael_mic_verify | +37
ieee80211_tkip_decrypt | +95
ieee80211_tkip_encrypt | +43
3 functions changed, 175 bytes added
net/ieee80211/softmac/ieee80211softmac_auth.c:
ieee80211softmac_auth_queue | -53
ieee80211softmac_auth_resp | +111
2 functions changed, 111 bytes added, 53 bytes removed, diff: +58
net/ethernet/eth.c:
print_mac | +27
1 function changed, 27 bytes added
vmlinux.with:
190 functions changed, 7138 bytes added, 3885 bytes removed, diff: +3253
next prev parent reply other threads:[~2008-04-08 20:18 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-21 9:34 New sparse warning in net/mac80211/debugfs_sta.c Harvey Harrison
2008-02-21 9:54 ` Johannes Berg
2008-02-21 10:03 ` David Miller
2008-02-21 10:08 ` Harvey Harrison
2008-02-21 10:12 ` David Miller
2008-02-21 10:16 ` Harvey Harrison
2008-02-21 10:22 ` [PATCH] mac80211: fix debugfs_sta print_mac() warning Johannes Berg
[not found] ` <20080221.015743.222059206.davem@davemloft.net>
2008-02-21 10:01 ` New sparse warning in net/mac80211/debugfs_sta.c Harvey Harrison
2008-02-21 10:05 ` David Miller
2008-02-21 10:14 ` Harvey Harrison
2008-02-21 10:17 ` Johannes Berg
2008-02-21 17:54 ` Joe Perches
2008-02-21 18:00 ` Patrick McHardy
2008-02-21 18:15 ` Patrick McHardy
2008-02-24 4:02 ` David Miller
2008-02-25 9:53 ` Johannes Berg
2008-02-25 16:53 ` Joe Perches
2008-02-25 17:29 ` Johannes Berg
2008-02-25 17:23 ` Johannes Berg
2008-02-25 19:52 ` David Miller
2008-02-25 19:56 ` Johannes Berg
2008-02-25 20:05 ` Johannes Berg
2008-02-25 20:14 ` David Miller
2008-02-25 20:12 ` David Miller
2008-02-25 11:47 ` Patrick McHardy
2008-02-25 19:58 ` Joe Perches
2008-04-08 20:18 ` Patrick McHardy [this message]
2008-04-08 21:02 ` Joe Perches
2008-04-08 21:16 ` David Miller
2008-04-08 21:19 ` Patrick McHardy
2008-04-08 22:09 ` Joe Perches
2008-04-08 22:30 ` David Miller
2008-04-08 22:41 ` Joe Perches
2008-04-08 22:32 ` Patrick McHardy
2008-02-21 17:17 ` Joe Perches
2008-02-21 17:45 ` Patrick McHardy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47FBD30A.1010003@trash.net \
--to=kaber@trash.net \
--cc=davem@davemloft.net \
--cc=harvey.harrison@gmail.com \
--cc=joe@perches.com \
--cc=johannes@sipsolutions.net \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).