Re: [QUICKLIST 3/4] Quicklist support for x86_64

Christoph Lameter
2007-04-09T22:01:20Z

On Mon, 9 Apr 2007, Andrew Morton wrote:

> On Mon, 9 Apr 2007 11:25:20 -0700 (PDT)
> Christoph Lameter <clameter@sgi.com> wrote:
>
> > -static inline pgd_t *pgd_alloc(struct mm_struct *mm)
> > +static inline void pgd_ctor(void *x)
> > +static inline void pgd_dtor(void *x)
>
> Seems dumb to inline these - they're only ever called indirectly, aren't
> they?

Yes.. In most cases they are not called at all because NULL is passed.
Then the function call can be removed by the compiler from the in line
functions.

> This means (I think) that the compiler will need to generate an out-of-line
> copy of these within each compilation unit which passes the address of these
> functions into some other function.

The function is constant. Constant propagation will lead to the function
being included in the inline function.