diff options
| author | Andrew Morton <akpm@digeo.com> | 2003-06-17 18:26:49 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-06-17 18:26:49 -0700 |
| commit | 17aff93885fb217593afdc45205c5720e4376bdf (patch) | |
| tree | 9c1c18dbb0574459996f7dfc4a5bb8165d169e9a /include/linux/ext3_fs_sb.h | |
| parent | c12b9866ea52183ad5f2d87ca01c09b3a7508f5a (diff) | |
[PATCH] ext3: scalable counters and locks
From: Alex Tomas <bzzz@tmi.comex.ru>
This is a port from ext2 of the fuzzy counters (for Orlov allocator
heuristics) and the hashed spinlocking (for the inode and bloock allocators).
Diffstat (limited to 'include/linux/ext3_fs_sb.h')
| -rw-r--r-- | include/linux/ext3_fs_sb.h | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/include/linux/ext3_fs_sb.h b/include/linux/ext3_fs_sb.h index 6d53e5cac0ac..e9b4012cc776 100644 --- a/include/linux/ext3_fs_sb.h +++ b/include/linux/ext3_fs_sb.h @@ -19,15 +19,10 @@ #ifdef __KERNEL__ #include <linux/timer.h> #include <linux/wait.h> +#include <linux/blockgroup_lock.h> +#include <linux/percpu_counter.h> #endif -struct ext3_bg_info { - u8 bg_debts; - spinlock_t bg_balloc_lock; - spinlock_t bg_ialloc_lock; - unsigned long bg_reserved; -} ____cacheline_aligned_in_smp; - /* * third extended-fs super-block data in memory */ @@ -57,7 +52,11 @@ struct ext3_sb_info { u32 s_next_generation; u32 s_hash_seed[4]; int s_def_hash_version; - struct ext3_bg_info *s_bgi; + u8 *s_debts; + struct percpu_counter s_freeblocks_counter; + struct percpu_counter s_freeinodes_counter; + struct percpu_counter s_dirs_counter; + struct blockgroup_lock s_blockgroup_lock; /* Journaling */ struct inode * s_journal_inode; |
