mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-14 12:49:08 +00:00
locking: Reorder functions in spinlock.c
Separate spin_lock and rw_lock functions. Preempt-RT needs to exclude the rw_lock functions from being compiled. The reordering allows to do that with a single #ifdef. No functional change. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra <peterz@infradead.org> Acked-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
3ea6b3d0e6
commit
b7b40ade58
@ -113,6 +113,230 @@ BUILD_LOCK_OPS(write, rwlock);
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_SPIN_TRYLOCK
|
||||||
|
int __lockfunc _spin_trylock(spinlock_t *lock)
|
||||||
|
{
|
||||||
|
return __spin_trylock(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_spin_trylock);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_SPIN_TRYLOCK_BH
|
||||||
|
int __lockfunc _spin_trylock_bh(spinlock_t *lock)
|
||||||
|
{
|
||||||
|
return __spin_trylock_bh(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_spin_trylock_bh);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_SPIN_LOCK
|
||||||
|
void __lockfunc _spin_lock(spinlock_t *lock)
|
||||||
|
{
|
||||||
|
__spin_lock(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_spin_lock);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_SPIN_LOCK_IRQSAVE
|
||||||
|
unsigned long __lockfunc _spin_lock_irqsave(spinlock_t *lock)
|
||||||
|
{
|
||||||
|
return __spin_lock_irqsave(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_spin_lock_irqsave);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_SPIN_LOCK_IRQ
|
||||||
|
void __lockfunc _spin_lock_irq(spinlock_t *lock)
|
||||||
|
{
|
||||||
|
__spin_lock_irq(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_spin_lock_irq);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_SPIN_LOCK_BH
|
||||||
|
void __lockfunc _spin_lock_bh(spinlock_t *lock)
|
||||||
|
{
|
||||||
|
__spin_lock_bh(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_spin_lock_bh);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_SPIN_UNLOCK
|
||||||
|
void __lockfunc _spin_unlock(spinlock_t *lock)
|
||||||
|
{
|
||||||
|
__spin_unlock(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_spin_unlock);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE
|
||||||
|
void __lockfunc _spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags)
|
||||||
|
{
|
||||||
|
__spin_unlock_irqrestore(lock, flags);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_spin_unlock_irqrestore);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_SPIN_UNLOCK_IRQ
|
||||||
|
void __lockfunc _spin_unlock_irq(spinlock_t *lock)
|
||||||
|
{
|
||||||
|
__spin_unlock_irq(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_spin_unlock_irq);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_SPIN_UNLOCK_BH
|
||||||
|
void __lockfunc _spin_unlock_bh(spinlock_t *lock)
|
||||||
|
{
|
||||||
|
__spin_unlock_bh(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_spin_unlock_bh);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_READ_TRYLOCK
|
||||||
|
int __lockfunc _read_trylock(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
return __read_trylock(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_read_trylock);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_READ_LOCK
|
||||||
|
void __lockfunc _read_lock(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
__read_lock(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_read_lock);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_READ_LOCK_IRQSAVE
|
||||||
|
unsigned long __lockfunc _read_lock_irqsave(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
return __read_lock_irqsave(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_read_lock_irqsave);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_READ_LOCK_IRQ
|
||||||
|
void __lockfunc _read_lock_irq(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
__read_lock_irq(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_read_lock_irq);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_READ_LOCK_BH
|
||||||
|
void __lockfunc _read_lock_bh(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
__read_lock_bh(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_read_lock_bh);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_READ_UNLOCK
|
||||||
|
void __lockfunc _read_unlock(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
__read_unlock(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_read_unlock);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_READ_UNLOCK_IRQRESTORE
|
||||||
|
void __lockfunc _read_unlock_irqrestore(rwlock_t *lock, unsigned long flags)
|
||||||
|
{
|
||||||
|
__read_unlock_irqrestore(lock, flags);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_read_unlock_irqrestore);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_READ_UNLOCK_IRQ
|
||||||
|
void __lockfunc _read_unlock_irq(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
__read_unlock_irq(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_read_unlock_irq);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_READ_UNLOCK_BH
|
||||||
|
void __lockfunc _read_unlock_bh(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
__read_unlock_bh(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_read_unlock_bh);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_WRITE_TRYLOCK
|
||||||
|
int __lockfunc _write_trylock(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
return __write_trylock(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_write_trylock);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_WRITE_LOCK
|
||||||
|
void __lockfunc _write_lock(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
__write_lock(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_write_lock);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_WRITE_LOCK_IRQSAVE
|
||||||
|
unsigned long __lockfunc _write_lock_irqsave(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
return __write_lock_irqsave(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_write_lock_irqsave);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_WRITE_LOCK_IRQ
|
||||||
|
void __lockfunc _write_lock_irq(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
__write_lock_irq(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_write_lock_irq);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_WRITE_LOCK_BH
|
||||||
|
void __lockfunc _write_lock_bh(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
__write_lock_bh(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_write_lock_bh);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_WRITE_UNLOCK
|
||||||
|
void __lockfunc _write_unlock(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
__write_unlock(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_write_unlock);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE
|
||||||
|
void __lockfunc _write_unlock_irqrestore(rwlock_t *lock, unsigned long flags)
|
||||||
|
{
|
||||||
|
__write_unlock_irqrestore(lock, flags);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_write_unlock_irqrestore);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_WRITE_UNLOCK_IRQ
|
||||||
|
void __lockfunc _write_unlock_irq(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
__write_unlock_irq(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_write_unlock_irq);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_INLINE_WRITE_UNLOCK_BH
|
||||||
|
void __lockfunc _write_unlock_bh(rwlock_t *lock)
|
||||||
|
{
|
||||||
|
__write_unlock_bh(lock);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(_write_unlock_bh);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
||||||
|
|
||||||
void __lockfunc _spin_lock_nested(spinlock_t *lock, int subclass)
|
void __lockfunc _spin_lock_nested(spinlock_t *lock, int subclass)
|
||||||
@ -148,230 +372,6 @@ EXPORT_SYMBOL(_spin_lock_nest_lock);
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_SPIN_TRYLOCK
|
|
||||||
int __lockfunc _spin_trylock(spinlock_t *lock)
|
|
||||||
{
|
|
||||||
return __spin_trylock(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_spin_trylock);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_READ_TRYLOCK
|
|
||||||
int __lockfunc _read_trylock(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
return __read_trylock(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_read_trylock);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_WRITE_TRYLOCK
|
|
||||||
int __lockfunc _write_trylock(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
return __write_trylock(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_write_trylock);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_READ_LOCK
|
|
||||||
void __lockfunc _read_lock(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
__read_lock(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_read_lock);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_SPIN_LOCK_IRQSAVE
|
|
||||||
unsigned long __lockfunc _spin_lock_irqsave(spinlock_t *lock)
|
|
||||||
{
|
|
||||||
return __spin_lock_irqsave(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_spin_lock_irqsave);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_SPIN_LOCK_IRQ
|
|
||||||
void __lockfunc _spin_lock_irq(spinlock_t *lock)
|
|
||||||
{
|
|
||||||
__spin_lock_irq(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_spin_lock_irq);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_SPIN_LOCK_BH
|
|
||||||
void __lockfunc _spin_lock_bh(spinlock_t *lock)
|
|
||||||
{
|
|
||||||
__spin_lock_bh(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_spin_lock_bh);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_READ_LOCK_IRQSAVE
|
|
||||||
unsigned long __lockfunc _read_lock_irqsave(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
return __read_lock_irqsave(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_read_lock_irqsave);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_READ_LOCK_IRQ
|
|
||||||
void __lockfunc _read_lock_irq(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
__read_lock_irq(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_read_lock_irq);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_READ_LOCK_BH
|
|
||||||
void __lockfunc _read_lock_bh(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
__read_lock_bh(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_read_lock_bh);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_WRITE_LOCK_IRQSAVE
|
|
||||||
unsigned long __lockfunc _write_lock_irqsave(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
return __write_lock_irqsave(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_write_lock_irqsave);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_WRITE_LOCK_IRQ
|
|
||||||
void __lockfunc _write_lock_irq(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
__write_lock_irq(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_write_lock_irq);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_WRITE_LOCK_BH
|
|
||||||
void __lockfunc _write_lock_bh(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
__write_lock_bh(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_write_lock_bh);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_SPIN_LOCK
|
|
||||||
void __lockfunc _spin_lock(spinlock_t *lock)
|
|
||||||
{
|
|
||||||
__spin_lock(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_spin_lock);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_WRITE_LOCK
|
|
||||||
void __lockfunc _write_lock(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
__write_lock(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_write_lock);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_SPIN_UNLOCK
|
|
||||||
void __lockfunc _spin_unlock(spinlock_t *lock)
|
|
||||||
{
|
|
||||||
__spin_unlock(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_spin_unlock);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_WRITE_UNLOCK
|
|
||||||
void __lockfunc _write_unlock(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
__write_unlock(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_write_unlock);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_READ_UNLOCK
|
|
||||||
void __lockfunc _read_unlock(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
__read_unlock(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_read_unlock);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE
|
|
||||||
void __lockfunc _spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags)
|
|
||||||
{
|
|
||||||
__spin_unlock_irqrestore(lock, flags);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_spin_unlock_irqrestore);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_SPIN_UNLOCK_IRQ
|
|
||||||
void __lockfunc _spin_unlock_irq(spinlock_t *lock)
|
|
||||||
{
|
|
||||||
__spin_unlock_irq(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_spin_unlock_irq);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_SPIN_UNLOCK_BH
|
|
||||||
void __lockfunc _spin_unlock_bh(spinlock_t *lock)
|
|
||||||
{
|
|
||||||
__spin_unlock_bh(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_spin_unlock_bh);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_READ_UNLOCK_IRQRESTORE
|
|
||||||
void __lockfunc _read_unlock_irqrestore(rwlock_t *lock, unsigned long flags)
|
|
||||||
{
|
|
||||||
__read_unlock_irqrestore(lock, flags);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_read_unlock_irqrestore);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_READ_UNLOCK_IRQ
|
|
||||||
void __lockfunc _read_unlock_irq(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
__read_unlock_irq(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_read_unlock_irq);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_READ_UNLOCK_BH
|
|
||||||
void __lockfunc _read_unlock_bh(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
__read_unlock_bh(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_read_unlock_bh);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE
|
|
||||||
void __lockfunc _write_unlock_irqrestore(rwlock_t *lock, unsigned long flags)
|
|
||||||
{
|
|
||||||
__write_unlock_irqrestore(lock, flags);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_write_unlock_irqrestore);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_WRITE_UNLOCK_IRQ
|
|
||||||
void __lockfunc _write_unlock_irq(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
__write_unlock_irq(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_write_unlock_irq);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_WRITE_UNLOCK_BH
|
|
||||||
void __lockfunc _write_unlock_bh(rwlock_t *lock)
|
|
||||||
{
|
|
||||||
__write_unlock_bh(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_write_unlock_bh);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_INLINE_SPIN_TRYLOCK_BH
|
|
||||||
int __lockfunc _spin_trylock_bh(spinlock_t *lock)
|
|
||||||
{
|
|
||||||
return __spin_trylock_bh(lock);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(_spin_trylock_bh);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
notrace int in_lock_functions(unsigned long addr)
|
notrace int in_lock_functions(unsigned long addr)
|
||||||
{
|
{
|
||||||
/* Linker adds these: start and end of __lockfunc functions */
|
/* Linker adds these: start and end of __lockfunc functions */
|
||||||
|
Loading…
Reference in New Issue
Block a user