Am 30.04.2016 um 21:00 schrieb Muhammad Falak R Wani: > The rcu_assign_pointer() ensures that the initialization of a structure > is carried out before storing a pointer to that structre. It is always > safe to use RCU_INIT_POINTER() to NULL a pointer, instead of > rcu_assign_pointer(). > This results in slightly smaller/faster code.
Thanks for the detailed explanation, I was already wondering what the difference is between the two. > > The following semantic patch was used: > <smpl> > > @@ > @@ > > - rcu_assign_pointer > + RCU_INIT_POINTER > (..., NULL) > > </smpl> > > Signed-off-by: Muhammad Falak R Wani <falakreyaz at gmail.com> Reviewed-by: Christian König <christian.koenig at amd.com> Regards, Christian. > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c > index d81f1f4..4500ff1 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c > @@ -198,7 +198,7 @@ void amdgpu_fence_process(struct amdgpu_ring *ring) > > /* There is always exactly one thread signaling this fence slot > */ > fence = rcu_dereference_protected(*ptr, 1); > - rcu_assign_pointer(*ptr, NULL); > + RCU_INIT_POINTER(*ptr, NULL); > > BUG_ON(!fence); >