Messages in this thread | | | Date | Thu, 25 Jul 2013 15:16:07 -0400 | From | KOSAKI Motohiro <> | Subject | Re: [PATCH v2] numa: Mark __node_set as __always_inline |
| |
> +/* > + * 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@jp.fujitsu.com>
| |