diff options
author | Kent Overstreet <kmo@daterainc.com> | 2013-10-31 18:43:22 -0400 |
---|---|---|
committer | Kent Overstreet <kmo@daterainc.com> | 2013-11-11 00:56:41 -0500 |
commit | 48a915a87f0bd98c3d68d029acf223a2e5116f07 (patch) | |
tree | d821604169acc801b655b04c1de1cc5672169ec4 /drivers/md/bcache/bcache.h | |
parent | 17e21a9f248d3d330acdfb2405c23b8d84c9c23a (diff) |
bcache: Better full stripe scanning
The old scanning-by-stripe code burned too much CPU, this should be
better.
Signed-off-by: Kent Overstreet <kmo@daterainc.com>
Diffstat (limited to 'drivers/md/bcache/bcache.h')
-rw-r--r-- | drivers/md/bcache/bcache.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/md/bcache/bcache.h b/drivers/md/bcache/bcache.h index 816d07958fac..ab0b2150fed6 100644 --- a/drivers/md/bcache/bcache.h +++ b/drivers/md/bcache/bcache.h | |||
@@ -237,7 +237,7 @@ struct keybuf { | |||
237 | 237 | ||
238 | struct rb_root keys; | 238 | struct rb_root keys; |
239 | 239 | ||
240 | #define KEYBUF_NR 100 | 240 | #define KEYBUF_NR 500 |
241 | DECLARE_ARRAY_ALLOCATOR(struct keybuf_key, freelist, KEYBUF_NR); | 241 | DECLARE_ARRAY_ALLOCATOR(struct keybuf_key, freelist, KEYBUF_NR); |
242 | }; | 242 | }; |
243 | 243 | ||
@@ -273,9 +273,10 @@ struct bcache_device { | |||
273 | atomic_t detaching; | 273 | atomic_t detaching; |
274 | int flush_done; | 274 | int flush_done; |
275 | 275 | ||
276 | uint64_t nr_stripes; | 276 | unsigned nr_stripes; |
277 | unsigned stripe_size; | 277 | unsigned stripe_size; |
278 | atomic_t *stripe_sectors_dirty; | 278 | atomic_t *stripe_sectors_dirty; |
279 | unsigned long *full_dirty_stripes; | ||
279 | 280 | ||
280 | unsigned long sectors_dirty_last; | 281 | unsigned long sectors_dirty_last; |
281 | long sectors_dirty_derivative; | 282 | long sectors_dirty_derivative; |