summaryrefslogtreecommitdiff
path: root/include/linux/ext3_fs_sb.h
diff options
context:
space:
mode:
authorAndrew Morton <akpm@digeo.com>2003-06-17 18:26:49 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2003-06-17 18:26:49 -0700
commit17aff93885fb217593afdc45205c5720e4376bdf (patch)
tree9c1c18dbb0574459996f7dfc4a5bb8165d169e9a /include/linux/ext3_fs_sb.h
parentc12b9866ea52183ad5f2d87ca01c09b3a7508f5a (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.h15
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;