Re: [PATCH] numa: Mark __node_set as __always_inline

From: KOSAKI Motohiro
Date: Thu Jul 25 2013 - 14:08:38 EST


(7/25/13 8:14 AM), Tom Rini wrote:
> It is posible for some compilers to decide that __node_set does not need
> to be made turned into an inline function. When the compiler does this
> on an __init function calling it on __initdata we get a section mismatch
> warning now.
>
> Reported-by: Paul Bolle <pebolle@xxxxxxxxxx>
> Cc: Jianpeng Ma <majianpeng@xxxxxxxxx>
> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx>
> Cc: Wen Congyang <wency@xxxxxxxxxxxxxx>
> Cc: Jiang Liu <jiang.liu@xxxxxxxxxx>
> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
> Cc: Minchan Kim <minchan.kim@xxxxxxxxx>
> Cc: Mel Gorman <mgorman@xxxxxxx>
> Cc: David Rientjes <rientjes@xxxxxxxxxx>
> Cc: Yinghai Lu <yinghai@xxxxxxxxxx>
> Cc: Greg KH <greg@xxxxxxxxx>
> Signed-off-by: Tom Rini <trini@xxxxxx>
> ---
> include/linux/nodemask.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/nodemask.h b/include/linux/nodemask.h
> index 4e2cbfa..10d0fd9 100644
> --- a/include/linux/nodemask.h
> +++ b/include/linux/nodemask.h
> @@ -99,7 +99,7 @@ typedef struct { DECLARE_BITMAP(bits, MAX_NUMNODES); } nodemask_t;
> extern nodemask_t _unused_nodemask_arg_;
>
> #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)

The change looks ok. But, this code doesn't tell us why you changed. Please write
down proper comments here.

> {
> set_bit(node, dstp->bits);
> }
>

--
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/