NoPaste

spinlock.h.rej

von Anonymous

SNIPPET_TEXT:
  1. ***************
  2. *** 54,74 ****
  3.    * much between them in performance though, especially as locks are out of line.
  4.    */
  5.   #if (NR_CPUS < 256)
  6. - static inline int __raw_spin_is_locked(raw_spinlock_t *lock)
  7.   {
  8.         int tmp = ACCESS_ONCE(lock->slock);
  9.  
  10.         return (((tmp >> 8) & 0xff) != (tmp & 0xff));
  11.   }
  12.  
  13. - static inline int __raw_spin_is_contended(raw_spinlock_t *lock)
  14.   {
  15.         int tmp = ACCESS_ONCE(lock->slock);
  16.  
  17.         return (((tmp >> 8) - tmp) & 0xff) > 1;
  18.   }
  19.  
  20. - static __always_inline void __raw_spin_lock(raw_spinlock_t *lock)
  21.   {
  22.         short inc = 0x0100;
  23.  
  24. --- 54,74 ----
  25.    * much between them in performance though, especially as locks are out of line.
  26.    */
  27.   #if (NR_CPUS < 256)
  28. + static inline int __raw_spin_is_locked(__raw_spinlock_t *lock)
  29.   {
  30.         int tmp = ACCESS_ONCE(lock->slock);
  31.  
  32.         return (((tmp >> 8) & 0xff) != (tmp & 0xff));
  33.   }
  34.  
  35. + static inline int __raw_spin_is_contended(__raw_spinlock_t *lock)
  36.   {
  37.         int tmp = ACCESS_ONCE(lock->slock);
  38.  
  39.         return (((tmp >> 8) - tmp) & 0xff) > 1;
  40.   }
  41.  
  42. + static __always_inline void __raw_spin_lock(__raw_spinlock_t *lock)
  43.   {
  44.         short inc = 0x0100;
  45.  
  46. *************** static __always_inline void __raw_spin_u
  47. *** 118,138 ****
  48.                      : "memory", "cc");
  49.   }
  50.   #else
  51. - static inline int __raw_spin_is_locked(raw_spinlock_t *lock)
  52.   {
  53.         int tmp = ACCESS_ONCE(lock->slock);
  54.  
  55.         return (((tmp >> 16) & 0xffff) != (tmp & 0xffff));
  56.   }
  57.  
  58. - static inline int __raw_spin_is_contended(raw_spinlock_t *lock)
  59.   {
  60.         int tmp = ACCESS_ONCE(lock->slock);
  61.  
  62.         return (((tmp >> 16) - tmp) & 0xffff) > 1;
  63.   }
  64.  
  65. - static __always_inline void __raw_spin_lock(raw_spinlock_t *lock)
  66.   {
  67.         int inc = 0x00010000;
  68.         int tmp;
  69. --- 118,138 ----
  70.                      : "memory", "cc");
  71.   }
  72.   #else
  73. + static inline int __raw_spin_is_locked(__raw_spinlock_t *lock)
  74.   {
  75.         int tmp = ACCESS_ONCE(lock->slock);
  76.  
  77.         return (((tmp >> 16) & 0xffff) != (tmp & 0xffff));
  78.   }
  79.  
  80. + static inline int __raw_spin_is_contended(__raw_spinlock_t *lock)
  81.   {
  82.         int tmp = ACCESS_ONCE(lock->slock);
  83.  
  84.         return (((tmp >> 16) - tmp) & 0xffff) > 1;
  85.   }
  86.  
  87. + static __always_inline void __raw_spin_lock(__raw_spinlock_t *lock)
  88.   {
  89.         int inc = 0x00010000;
  90.         int tmp;

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN