linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] kernel: Use RCU_INIT_POINTER(x, NULL) in tracepoint.c
@ 2014-03-23 19:09 Monam Agarwal
  2014-03-24 19:05 ` Mathieu Desnoyers
  0 siblings, 1 reply; 2+ messages in thread
From: Monam Agarwal @ 2014-03-23 19:09 UTC (permalink / raw)
  To: mathieu.desnoyers, rostedt, keun-o.park, linux-kernel

This patch replaces rcu_assign_pointer(x, NULL) with RCU_INIT_POINTER(x, NULL)

The rcu_assign_pointer() ensures that the initialization of a structure       
is carried out before storing a pointer to that structure. 
And in the case of the NULL pointer, there is no structure to initialize. 
So, rcu_assign_pointer(p, NULL) can be safely converted to RCU_INIT_POINTER(p, NULL)

Signed-off-by: Monam Agarwal <monamagarwal123@gmail.com>
---
 kernel/tracepoint.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/tracepoint.c b/kernel/tracepoint.c
index 031cc56..72dfa96 100644
--- a/kernel/tracepoint.c
+++ b/kernel/tracepoint.c
@@ -291,7 +291,7 @@ static void disable_tracepoint(struct tracepoint *elem)
 
 	if (static_key_enabled(&elem->key))
 		static_key_slow_dec(&elem->key);
-	rcu_assign_pointer(elem->funcs, NULL);
+	RCU_INIT_POINTER(elem->funcs, NULL);
 }
 
 /**
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] kernel: Use RCU_INIT_POINTER(x, NULL) in tracepoint.c
  2014-03-23 19:09 [PATCH] kernel: Use RCU_INIT_POINTER(x, NULL) in tracepoint.c Monam Agarwal
@ 2014-03-24 19:05 ` Mathieu Desnoyers
  0 siblings, 0 replies; 2+ messages in thread
From: Mathieu Desnoyers @ 2014-03-24 19:05 UTC (permalink / raw)
  To: Monam Agarwal; +Cc: rostedt, keun-o park, linux-kernel

----- Original Message -----
> From: "Monam Agarwal" <monamagarwal123@gmail.com>
> To: "mathieu desnoyers" <mathieu.desnoyers@efficios.com>, rostedt@goodmis.org, "keun-o park"
> <keun-o.park@windriver.com>, linux-kernel@vger.kernel.org
> Sent: Sunday, March 23, 2014 3:09:08 PM
> Subject: [PATCH] kernel: Use RCU_INIT_POINTER(x, NULL) in tracepoint.c
> 
> This patch replaces rcu_assign_pointer(x, NULL) with RCU_INIT_POINTER(x,
> NULL)
> 
> The rcu_assign_pointer() ensures that the initialization of a structure
> is carried out before storing a pointer to that structure.
> And in the case of the NULL pointer, there is no structure to initialize.
> So, rcu_assign_pointer(p, NULL) can be safely converted to
> RCU_INIT_POINTER(p, NULL)

This change makes sense. However, it would conflict with the changes
I'm proposing for 3.15, which are making this patch obsolete. This would
cause merging headaches for Steven. So it's his call.

Thanks,

Mathieu

> 
> Signed-off-by: Monam Agarwal <monamagarwal123@gmail.com>
> ---
>  kernel/tracepoint.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/tracepoint.c b/kernel/tracepoint.c
> index 031cc56..72dfa96 100644
> --- a/kernel/tracepoint.c
> +++ b/kernel/tracepoint.c
> @@ -291,7 +291,7 @@ static void disable_tracepoint(struct tracepoint *elem)
>  
>  	if (static_key_enabled(&elem->key))
>  		static_key_slow_dec(&elem->key);
> -	rcu_assign_pointer(elem->funcs, NULL);
> +	RCU_INIT_POINTER(elem->funcs, NULL);
>  }
>  
>  /**
> --
> 1.7.9.5
> 
> 

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-03-24 19:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-23 19:09 [PATCH] kernel: Use RCU_INIT_POINTER(x, NULL) in tracepoint.c Monam Agarwal
2014-03-24 19:05 ` Mathieu Desnoyers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).