> +/*
> + * The inline keyword gives the compiler room to decide to inline, or
> + * not inline a function as it sees best.  However, as these functions
> + * are called in both __init and non-__init functions, if they are not
> + * inlined we will end up with a section mis-match error (of the type of
> + * freeable items not being freed).  So we must use __always_inline here
> + * to fix the problem.  If other functions in the future also end up in
> + * this situation they will also need to be annotated as __always_inline
> + */
>   #define node_set(node, dst) __node_set((node), &(dst))
> -static inline void __node_set(int node, volatile nodemask_t *dstp)
> +static __always_inline void __node_set(int node, volatile nodemask_t *dstp)
>   {
>       set_bit(node, dstp->bits);
>   }
> 

Acked-by: KOSAKI Motohiro <[email protected]>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to