Re: [PATCH v2] numa: Mark __node_set as __always_inline

From: KOSAKI Motohiro
Date: Thu Jul 25 2013 - 15:15:59 EST


> +/*
> + * 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 <kosaki.motohiro@xxxxxxxxxxxxxx>

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