• Denys Vlasenko's avatar
    rtlwifi: rtl818x: Deinline indexed IO functions, save 21568 bytes · aae555d3
    Denys Vlasenko authored
    rtl818x_ioread8_idx: 151 bytes, 29 calls
    rtl818x_ioread16_idx: 151 bytes, 11 calls
    rtl818x_ioread32_idx: 151 bytes, 5 calls
    rtl818x_iowrite8_idx: 157 bytes, 117 calls
    rtl818x_iowrite16_idx: 158 bytes, 74 calls
    rtl818x_iowrite32_idx: 157 bytes, 22 calls
    
    Each of these functions has a pair of mutex lock/unlock ops,
    both of these ops perform atomic updates of memory (on x86, it boils down to
    "lock cmpxchg %reg,mem" insn), which are 4-8 times more expensive than call+return.
    
        text     data      bss       dec     hex filename
    95894242 20860288 35991552 152746082 91ab862 vmlinux_before
    95872674 20860320 35991552 152724546 91a6442 vmlinux
    Signed-off-by: default avatarDenys Vlasenko <dvlasenk@redhat.com>
    CC: Larry Finger <Larry.Finger@lwfinger.net>
    CC: Chaoming Li <chaoming_li@realsil.com.cn>
    CC: linux-wireless@vger.kernel.org
    CC: linux-kernel@vger.kernel.org
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    aae555d3
rtl8187.h 4.55 KB