linux/arch/x86/kernel/paravirt-spinlocks.c
<<
>>
Prefs
   1/*
   2 * Split spinlock implementation out into its own file, so it can be
   3 * compiled in a FTRACE-compatible way.
   4 */
   5#include <linux/spinlock.h>
   6#include <linux/module.h>
   7
   8#include <asm/paravirt.h>
   9
  10static inline void
  11default_spin_lock_flags(arch_spinlock_t *lock, unsigned long flags)
  12{
  13        arch_spin_lock(lock);
  14}
  15
  16struct pv_lock_ops pv_lock_ops = {
  17#ifdef CONFIG_SMP
  18        .spin_is_locked = __ticket_spin_is_locked,
  19        .spin_is_contended = __ticket_spin_is_contended,
  20
  21        .spin_lock = __ticket_spin_lock,
  22        .spin_lock_flags = default_spin_lock_flags,
  23        .spin_trylock = __ticket_spin_trylock,
  24        .spin_unlock = __ticket_spin_unlock,
  25#endif
  26};
  27EXPORT_SYMBOL(pv_lock_ops);
  28
  29