Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Thu, 26 May 2011 19:19:31 +0000 (12:19 -0700)]
* 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: vdso: Remove unused variable
  x86-64: Optimize vDSO time()
  x86-64: Add time to vDSO
  x86-64: Turn off -pg and turn on -foptimize-sibling-calls for vDSO
  x86-64: Move vread_tsc into a new file with sensible options
  x86-64: Vclock_gettime(CLOCK_MONOTONIC) can't ever see nsec < 0
  x86-64: Don't generate cmov in vread_tsc
  x86-64: Remove unnecessary barrier in vread_tsc
  x86-64: Clean up vdso/kernel shared variables

1  2 
arch/x86/kernel/vmlinux.lds.S
arch/x86/kernel/vsyscall_64.c

Simple merge
                __attribute__ ((unused, __section__(".vsyscall_" #nr))) notrace
  #define __syscall_clobber "r11","cx","memory"
  
- /*
-  * vsyscall_gtod_data contains data that is :
-  * - readonly from vsyscalls
-  * - written by timer interrupt or systcl (/proc/sys/kernel/vsyscall64)
-  * Try to keep this structure as small as possible to avoid cache line ping pongs
-  */
- int __vgetcpu_mode __section_vgetcpu_mode;
- struct vsyscall_gtod_data __vsyscall_gtod_data __section_vsyscall_gtod_data =
+ DEFINE_VVAR(int, vgetcpu_mode);
+ DEFINE_VVAR(struct vsyscall_gtod_data, vsyscall_gtod_data) =
  {
 -      .lock = SEQLOCK_UNLOCKED,
 +      .lock = __SEQLOCK_UNLOCKED(__vsyscall_gtod_data.lock),
        .sysctl_enabled = 1,
  };