tree: git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/vdso head: 74cd745f0ce8cc8b95722ee8fdf1d97ffb3afe0b commit: 4b5e4f908855a66f0957bf35137ce3ee37c05230 [10/11] x86, vdso: Add a lot more dummy locking functions to vclock_gettime.c config: x86_64-randconfig-x005-0217 (attached as .config) All error/warnings: In file included from include/linux/spinlock.h:89:0, from include/linux/seqlock.h:35, from arch/x86/include/asm/vsyscall.h:4, from arch/x86/vdso/vdso32/../vclock_gettime.c:20, from arch/x86/vdso/vdso32/vclock_gettime.c:120: >> include/linux/spinlock_up.h:28:20: error: conflicting types for 'arch_spin_lock' static inline void arch_spin_lock(arch_spinlock_t *lock) ^ arch/x86/vdso/vdso32/vclock_gettime.c:45:20: note: previous definition of 'arch_spin_lock' was here static inline void arch_spin_lock(void *lock) ^ In file included from include/linux/spinlock.h:89:0, from include/linux/seqlock.h:35, from arch/x86/include/asm/vsyscall.h:4, from arch/x86/vdso/vdso32/../vclock_gettime.c:20, from arch/x86/vdso/vdso32/vclock_gettime.c:120: >> include/linux/spinlock_up.h:35:1: error: conflicting types for 'arch_spin_lock_flags' arch_spin_lock_flags(arch_spinlock_t *lock, unsigned long flags) ^ arch/x86/vdso/vdso32/vclock_gettime.c:58:20: note: previous definition of 'arch_spin_lock_flags' was here static inline void arch_spin_lock_flags(void *lock, ^ In file included from include/linux/spinlock.h:89:0, from include/linux/seqlock.h:35, from arch/x86/include/asm/vsyscall.h:4, from arch/x86/vdso/vdso32/../vclock_gettime.c:20, from arch/x86/vdso/vdso32/vclock_gettime.c:120: >> include/linux/spinlock_up.h:42:19: error: conflicting types for 'arch_spin_trylock' static inline int arch_spin_trylock(arch_spinlock_t *lock) ^ arch/x86/vdso/vdso32/vclock_gettime.c:49:19: note: previous definition of 'arch_spin_trylock' was here static inline int arch_spin_trylock(void *lock) ^ In file included from include/linux/spinlock.h:89:0, from include/linux/seqlock.h:35, from arch/x86/include/asm/vsyscall.h:4, from arch/x86/vdso/vdso32/../vclock_gettime.c:20, from arch/x86/vdso/vdso32/vclock_gettime.c:120: >> include/linux/spinlock_up.h:52:20: error: conflicting types for 'arch_spin_unlock' static inline void arch_spin_unlock(arch_spinlock_t *lock) ^ arch/x86/vdso/vdso32/vclock_gettime.c:54:20: note: previous definition of 'arch_spin_unlock' was here static inline void arch_spin_unlock(void *lock) ^ vim +/arch_spin_lock +28 include/linux/spinlock_up.h 386afc91 Linus Torvalds 2013-04-09 22 * into the locked sequence, resulting in non-atomic execution. fb1c8f93 Ingo Molnar 2005-09-10 23 */ fb1c8f93 Ingo Molnar 2005-09-10 24 fb1c8f93 Ingo Molnar 2005-09-10 25 #ifdef CONFIG_DEBUG_SPINLOCK 0199c4e6 Thomas Gleixner 2009-12-02 26 #define arch_spin_is_locked(x) ((x)->slock == 0) fb1c8f93 Ingo Molnar 2005-09-10 27 0199c4e6 Thomas Gleixner 2009-12-02 @28 static inline void arch_spin_lock(arch_spinlock_t *lock) fb1c8f93 Ingo Molnar 2005-09-10 29 { fb1c8f93 Ingo Molnar 2005-09-10 30 lock->slock = 0; 386afc91 Linus Torvalds 2013-04-09 31 barrier(); fb1c8f93 Ingo Molnar 2005-09-10 32 } fb1c8f93 Ingo Molnar 2005-09-10 33 fb1c8f93 Ingo Molnar 2005-09-10 34 static inline void 0199c4e6 Thomas Gleixner 2009-12-02 @35 arch_spin_lock_flags(arch_spinlock_t *lock, unsigned long flags) fb1c8f93 Ingo Molnar 2005-09-10 36 { fb1c8f93 Ingo Molnar 2005-09-10 37 local_irq_save(flags); fb1c8f93 Ingo Molnar 2005-09-10 38 lock->slock = 0; 386afc91 Linus Torvalds 2013-04-09 39 barrier(); fb1c8f93 Ingo Molnar 2005-09-10 40 } fb1c8f93 Ingo Molnar 2005-09-10 41 0199c4e6 Thomas Gleixner 2009-12-02 @42 static inline int arch_spin_trylock(arch_spinlock_t *lock) fb1c8f93 Ingo Molnar 2005-09-10 43 { fb1c8f93 Ingo Molnar 2005-09-10 44 char oldval = lock->slock; fb1c8f93 Ingo Molnar 2005-09-10 45 fb1c8f93 Ingo Molnar 2005-09-10 46 lock->slock = 0; 386afc91 Linus Torvalds 2013-04-09 47 barrier(); fb1c8f93 Ingo Molnar 2005-09-10 48 fb1c8f93 Ingo Molnar 2005-09-10 49 return oldval > 0; fb1c8f93 Ingo Molnar 2005-09-10 50 } fb1c8f93 Ingo Molnar 2005-09-10 51 0199c4e6 Thomas Gleixner 2009-12-02 @52 static inline void arch_spin_unlock(arch_spinlock_t *lock) fb1c8f93 Ingo Molnar 2005-09-10 53 { 386afc91 Linus Torvalds 2013-04-09 54 barrier(); fb1c8f93 Ingo Molnar 2005-09-10 55 lock->slock = 1; :::::: The code at line 28 was first introduced by commit :::::: 0199c4e68d1f02894bdefe4b5d9e9ee4aedd8d62 locking: Convert __raw_spin* functions to arch_spin* :::::: TO: Thomas Gleixner :::::: CC: Thomas Gleixner --- 0-DAY kernel build testing backend Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation