#ifndef _LINUX_BLOCKGROUP_LOCK_H #define _LINUX_BLOCKGROUP_LOCK_H /* * Per-blockgroup locking for ext2 and ext3. * * Simple hashed spinlocking. */ #include <linux/spinlock.h> #include <linux/cache.h> #ifdef CONFIG_SMP #define NR_BG_LOCKS (4 << ilog2(NR_CPUS < 32 ? NR_CPUS : 32)) #else #define NR_BG_LOCKS 1 #endif struct bgl_lock { spinlock_t lock; } ____cacheline_aligned_in_smp; struct blockgroup_lock { struct bgl_lock locks[NR_BG_LOCKS]; };
static inline void bgl_lock_init(struct blockgroup_lock *bgl) { int i; for (i = 0; i < NR_BG_LOCKS; i++) spin_lock_init(&bgl->locks[i].lock); }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Andrew Morton | 41 | 100.00% | 1 | 100.00% |
Total | 41 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Pekka J Enberg | 30 | 88.24% | 1 | 50.00% |
Andrew Morton | 4 | 11.76% | 1 | 50.00% |
Total | 34 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Andrew Morton | 87 | 69.05% | 1 | 25.00% |
Pekka J Enberg | 30 | 23.81% | 1 | 25.00% |
Adrian Bunk | 8 | 6.35% | 1 | 25.00% |
Eric Biggers | 1 | 0.79% | 1 | 25.00% |
Total | 126 | 100.00% | 4 | 100.00% |