[PATCH] mtd: cfi: Deiline large functions

Denys Vlasenko dvlasenk at redhat.com
Thu May 21 00:50:38 PDT 2015


On 05/20/2015 08:56 PM, Brian Norris wrote:
> On Mon, May 18, 2015 at 12:58:40PM +0200, Denys Vlasenko wrote:
>> With this .config: http://busybox.net/~vda/kernel_config,
>> after uninlining these functions have sizes and callsite counts
>> as follows:
> 
> Most of this is probably good, thanks. But I'm curious about one:
> 
>> cfi_udelay(): 74 bytes, 26 callsites
> 
> ^^ This is pretty dead-simple. If it's generating bad code, we might
> look at fixing it up instead. Almost all of its call sites are with
> constant input, so it *should* just become:
> 
> 	udelay(1);
> 	cond_resched();
> 
> in most cases. For the non-constant cases, we might still do an
> out-of-line implementation. Or maybe we just say it's all not worth it,
> and we just stick with what you have. But I'd like to consider
> alternatives to out-lining this one.

You want to consider not-deinlining (IOW: speed-optimizing)
a *fixed time delay function*?

Think about what delay functions do...




More information about the linux-mtd mailing list