Re: [PATCH] radeonfb: Deinline large functions
From: Tomi Valkeinen
Date: Thu Oct 08 2015 - 05:26:53 EST
On 23/09/15 20:57, Denys Vlasenko wrote:
> With this .config: http://busybox.net/~vda/kernel_config,
> after uninlining these functions have sizes and callsite counts
> as follows:
>
> __OUTPLLP: 61 bytes, 12 callsites
> __INPLL: 79 bytes, 150 callsites
> __OUTPLL: 82 bytes, 138 callsites
> _OUTREGP: 101 bytes, 8 callsites
> _radeon_msleep: 66 bytes, 18 callsites
> _radeon_fifo_wait: 83 bytes, 24 callsites
> _radeon_engine_idle: 92 bytes, 10 callsites
> radeon_engine_flush: 105 bytes, 2 callsites
> radeon_pll_errata_after_index_slow: 31 bytes, 11 callsites
> radeon_pll_errata_after_data_slow: 91 bytes, 9 callsites
>
> radeon_pll_errata_after_FOO functions are split into two parts:
> the inlined part which checks corresponding rinfo->errata bit,
> and out-of-line part which performs workaround magic per se.
>
> Reduction in code size is about 49,500 bytes:
>
> text data bss dec hex filename
> 85789648 22294616 20627456 128711720 7abfc28 vmlinux.before
> 85740176 22294680 20627456 128662312 7ab3b28 vmlinux
Thanks, applying for 4.4.
Tomi
Attachment:
signature.asc
Description: OpenPGP digital signature