diff options
| author | Dave Airlie <airlied@redhat.com> | 2015-01-22 10:44:41 +1000 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2015-01-22 10:44:41 +1000 |
| commit | 281d1bbd34b734e4f22b30b6f3b673dda46a7470 (patch) | |
| tree | f67a2d45d248e9deaa1c68d3f8f33cdf476daacd /arch/x86/include/asm/vgtod.h | |
| parent | bfa55bd4990815b055162b6d5d031f37a39942a5 (diff) | |
| parent | b942c653ae265abbd31032f3b4f5f857e5c7c723 (diff) | |
Merge remote-tracking branch 'origin/master' into drm-next
Backmerge Linus tree after rc5 + drm-fixes went in.
There were a few amdkfd conflicts I wanted to avoid,
and Ben requested this for nouveau also.
Conflicts:
drivers/gpu/drm/amd/amdkfd/Makefile
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.c
drivers/gpu/drm/amd/amdkfd/kfd_priv.h
drivers/gpu/drm/amd/include/kgd_kfd_interface.h
drivers/gpu/drm/i915/intel_runtime_pm.c
drivers/gpu/drm/radeon/radeon_kfd.c
Diffstat (limited to 'arch/x86/include/asm/vgtod.h')
| -rw-r--r-- | arch/x86/include/asm/vgtod.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/include/asm/vgtod.h b/arch/x86/include/asm/vgtod.h index e7e9682a33e9..f556c4843aa1 100644 --- a/arch/x86/include/asm/vgtod.h +++ b/arch/x86/include/asm/vgtod.h @@ -80,9 +80,11 @@ static inline unsigned int __getcpu(void) /* * Load per CPU data from GDT. LSL is faster than RDTSCP and - * works on all CPUs. + * works on all CPUs. This is volatile so that it orders + * correctly wrt barrier() and to keep gcc from cleverly + * hoisting it out of the calling function. */ - asm("lsl %1,%0" : "=r" (p) : "r" (__PER_CPU_SEG)); + asm volatile ("lsl %1,%0" : "=r" (p) : "r" (__PER_CPU_SEG)); return p; } |
