|
@@ -427,6 +427,11 @@ extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock);
|
|
|
#define atomic_dec_and_lock(atomic, lock) \
|
|
|
__cond_lock(lock, _atomic_dec_and_lock(atomic, lock))
|
|
|
|
|
|
+extern int _atomic_dec_and_lock_irqsave(atomic_t *atomic, spinlock_t *lock,
|
|
|
+ unsigned long *flags);
|
|
|
+#define atomic_dec_and_lock_irqsave(atomic, lock, flags) \
|
|
|
+ __cond_lock(lock, _atomic_dec_and_lock_irqsave(atomic, lock, &(flags)))
|
|
|
+
|
|
|
int alloc_bucket_spinlocks(spinlock_t **locks, unsigned int *lock_mask,
|
|
|
size_t max_size, unsigned int cpu_mult,
|
|
|
gfp_t gfp);
|