Re: rtlwifi: rtl818x: Deinline indexed IO functions, save 21568 bytes

From: Kalle Valo
Date: Tue May 03 2016 - 06:06:03 EST



> 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@xxxxxxxxxx>
> CC: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
> CC: Chaoming Li <chaoming_li@xxxxxxxxxxxxxx>
> CC: linux-wireless@xxxxxxxxxxxxxxx
> CC: linux-kernel@xxxxxxxxxxxxxxx

Thanks, applied to wireless-drivers-next.git.

Kalle Valo