OSDN Git Service

drm/amdgpu: Replace rcu_assign_pointer() with RCU_INIT_POINTER()
authorMuhammad Falak R Wani <falakreyaz@gmail.com>
Sat, 30 Apr 2016 19:00:24 +0000 (00:30 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 5 May 2016 00:31:06 +0000 (20:31 -0400)
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.

The following semantic patch was used:
<smpl>

@@
@@

- rcu_assign_pointer
+ RCU_INIT_POINTER
  (..., NULL)

</smpl>

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Muhammad Falak R Wani <falakreyaz@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c

index 50e95ab..ba9c042 100644 (file)
@@ -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);