mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	locking/arch: Remove dummy arch_{read,spin,write}_relax() implementations
arch_{read,spin,write}_relax() are defined as cpu_relax() by the core
code, so architectures that can't do better (i.e. most of them) don't
need to bother with the dummy definitions.
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: paulmck@linux.vnet.ibm.com
Link: http://lkml.kernel.org/r/1507055129-12300-3-git-send-email-will.deacon@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
			
			
This commit is contained in:
		
							parent
							
								
									a8a217c221
								
							
						
					
					
						commit
						0160fb177d
					
				
					 15 changed files with 3 additions and 56 deletions
				
			
		| 
						 | 
					@ -413,8 +413,4 @@ static inline void arch_write_unlock(arch_rwlock_t *rw)
 | 
				
			||||||
#define arch_read_lock_flags(lock, flags)	arch_read_lock(lock)
 | 
					#define arch_read_lock_flags(lock, flags)	arch_read_lock(lock)
 | 
				
			||||||
#define arch_write_lock_flags(lock, flags)	arch_write_lock(lock)
 | 
					#define arch_write_lock_flags(lock, flags)	arch_write_lock(lock)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define arch_spin_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_read_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_write_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* __ASM_SPINLOCK_H */
 | 
					#endif /* __ASM_SPINLOCK_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -273,8 +273,4 @@ static inline int arch_read_trylock(arch_rwlock_t *rw)
 | 
				
			||||||
#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
					#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
				
			||||||
#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
					#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define arch_spin_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_read_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_write_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* __ASM_SPINLOCK_H */
 | 
					#endif /* __ASM_SPINLOCK_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -306,10 +306,6 @@ static inline int arch_read_trylock(arch_rwlock_t *rw)
 | 
				
			||||||
#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
					#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
				
			||||||
#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
					#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define arch_spin_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_read_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_write_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* See include/linux/spinlock.h */
 | 
					/* See include/linux/spinlock.h */
 | 
				
			||||||
#define smp_mb__after_spinlock()	smp_mb()
 | 
					#define smp_mb__after_spinlock()	smp_mb()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -82,10 +82,6 @@ static inline void arch_write_unlock(arch_rwlock_t *rw)
 | 
				
			||||||
	__raw_write_unlock_asm(&rw->lock);
 | 
						__raw_write_unlock_asm(&rw->lock);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define arch_spin_relax(lock)  	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_read_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_write_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /*  !__BFIN_SPINLOCK_H */
 | 
					#endif /*  !__BFIN_SPINLOCK_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -269,8 +269,4 @@ static inline int arch_read_trylock(arch_rwlock_t *x)
 | 
				
			||||||
	return (u32)ia64_cmpxchg4_acq((__u32 *)(x), new.word, old.word) == old.word;
 | 
						return (u32)ia64_cmpxchg4_acq((__u32 *)(x), new.word, old.word) == old.word;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define arch_spin_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_read_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_write_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /*  _ASM_IA64_SPINLOCK_H */
 | 
					#endif /*  _ASM_IA64_SPINLOCK_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -308,8 +308,4 @@ static inline int arch_write_trylock(arch_rwlock_t *lock)
 | 
				
			||||||
#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
					#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
				
			||||||
#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
					#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define arch_spin_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_read_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_write_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif	/* _ASM_M32R_SPINLOCK_H */
 | 
					#endif	/* _ASM_M32R_SPINLOCK_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,8 +20,4 @@
 | 
				
			||||||
#define	arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
					#define	arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
				
			||||||
#define	arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
					#define	arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define arch_spin_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_read_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_write_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* __ASM_SPINLOCK_H */
 | 
					#endif /* __ASM_SPINLOCK_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -212,8 +212,4 @@ static inline int arch_read_trylock(arch_rwlock_t *rw)
 | 
				
			||||||
#define	arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
					#define	arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
				
			||||||
#define	arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
					#define	arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define arch_spin_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_read_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_write_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* __ASM_SPINLOCK_LNKGET_H */
 | 
					#endif /* __ASM_SPINLOCK_LNKGET_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,8 +16,4 @@
 | 
				
			||||||
#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
					#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
				
			||||||
#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
					#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define arch_spin_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_read_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_write_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* _ASM_SPINLOCK_H */
 | 
					#endif /* _ASM_SPINLOCK_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -45,6 +45,7 @@ static inline void arch_spin_relax(arch_spinlock_t *lock)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	arch_lock_relax(lock->lock);
 | 
						arch_lock_relax(lock->lock);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					#define arch_spin_relax		arch_spin_relax
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline u32 arch_spin_lockval(int cpu)
 | 
					static inline u32 arch_spin_lockval(int cpu)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -256,10 +257,12 @@ static inline void arch_read_relax(arch_rwlock_t *rw)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	arch_lock_relax(rw->owner);
 | 
						arch_lock_relax(rw->owner);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					#define arch_read_relax		arch_read_relax
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline void arch_write_relax(arch_rwlock_t *rw)
 | 
					static inline void arch_write_relax(arch_rwlock_t *rw)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	arch_lock_relax(rw->owner);
 | 
						arch_lock_relax(rw->owner);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					#define arch_write_relax	arch_write_relax
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* __ASM_SPINLOCK_H */
 | 
					#endif /* __ASM_SPINLOCK_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -93,8 +93,4 @@ static inline int arch_write_trylock(arch_rwlock_t *rw)
 | 
				
			||||||
#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
					#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
				
			||||||
#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
					#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define arch_spin_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_read_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_write_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* __ASM_SH_SPINLOCK_CAS_H */
 | 
					#endif /* __ASM_SH_SPINLOCK_CAS_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -200,8 +200,4 @@ static inline int arch_write_trylock(arch_rwlock_t *rw)
 | 
				
			||||||
#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
					#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
				
			||||||
#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
					#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define arch_spin_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_read_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_write_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* __ASM_SH_SPINLOCK_LLSC_H */
 | 
					#endif /* __ASM_SH_SPINLOCK_LLSC_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -186,10 +186,6 @@ static inline int __arch_read_trylock(arch_rwlock_t *rw)
 | 
				
			||||||
#define arch_read_lock_flags(rw, flags)   arch_read_lock(rw)
 | 
					#define arch_read_lock_flags(rw, flags)   arch_read_lock(rw)
 | 
				
			||||||
#define arch_write_lock_flags(rw, flags)  arch_write_lock(rw)
 | 
					#define arch_write_lock_flags(rw, flags)  arch_write_lock(rw)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define arch_spin_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_read_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_write_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* !(__ASSEMBLY__) */
 | 
					#endif /* !(__ASSEMBLY__) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* __SPARC_SPINLOCK_H */
 | 
					#endif /* __SPARC_SPINLOCK_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,10 +16,6 @@
 | 
				
			||||||
#define arch_read_lock_flags(p, f) arch_read_lock(p)
 | 
					#define arch_read_lock_flags(p, f) arch_read_lock(p)
 | 
				
			||||||
#define arch_write_lock_flags(p, f) arch_write_lock(p)
 | 
					#define arch_write_lock_flags(p, f) arch_write_lock(p)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define arch_spin_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_read_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_write_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* !(__ASSEMBLY__) */
 | 
					#endif /* !(__ASSEMBLY__) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* !(__SPARC64_SPINLOCK_H) */
 | 
					#endif /* !(__SPARC64_SPINLOCK_H) */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -44,8 +44,4 @@
 | 
				
			||||||
#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
					#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
 | 
				
			||||||
#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
					#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define arch_spin_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_read_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
#define arch_write_relax(lock)	cpu_relax()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* _ASM_X86_SPINLOCK_H */
 | 
					#endif /* _ASM_X86_SPINLOCK_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue