rtlwifi: rtl818x: Deinline indexed IO functions, save 21568 bytes
authorDenys Vlasenko <dvlasenk@redhat.com>
Mon, 25 Apr 2016 14:17:52 +0000 (16:17 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 3 May 2016 10:05:14 +0000 (13:05 +0300)
commitaae555d3026abcf6b7e4d29be2252dcc9ba10f49
tree0993ee18c22da10c571542b2ca621ef620e9d89d
parentede00a5ceb4d903a8c137a52bb77d574baaef8bd
rtlwifi: rtl818x: Deinline indexed IO functions, save 21568 bytes

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: Denys 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: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtl818x/rtl8187/rtl8187.h
drivers/net/wireless/realtek/rtl818x/rtl8187/rtl8225.c