Re: [patch] uninline init_waitqueue_*() functions

Andrew Morton
2006-07-05T09:54:03Z

On Wed, 5 Jul 2006 11:32:59 +0200
Ingo Molnar <mingo@elte.hu> wrote:

>
> * Andrew Morton <akpm@osdl.org> wrote:
>
> > shrinks fs/select.o by eight bytes. (More than I expected). So it
> > does appear to be a space win, but a pretty slim one.
>
> there are 855 calls to these functions in the allyesconfig vmlinux i
> did, and i measured a combined size reduction of 34791 bytes. That
> averages to a 40 bytes win per call site. (on i386.)
>

Yes, but that lumps all three together. init_waitqueue_head() is obviously
the porky one. And it's porkier with CONFIG_DEBUG_SPINLOCK and
CONFIG_LOCKDEP, which isn't the case to optimise for.

With the debug options turned off, even init_waitqueue_head() becomes just
three assignments, similar to init_waitqueue_entry() and
init_waitqueue_func_entry(). All pretty marginal.