diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2015-04-23 02:21:17 -0700 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2016-10-07 12:36:34 -0800 |
commit | 2269e4a2fc154283eba83b013d25011d2ca203b8 (patch) | |
tree | 4878d27882bce246d83bcc7b6349ba0b7997980e | |
parent | 32644b435fb7dd62e3e2d1814d71925d1c4532d1 (diff) |
bcache: BTREE_WRITE_SET_BUFFER
-rw-r--r-- | drivers/md/bcache/btree_io.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/md/bcache/btree_io.c b/drivers/md/bcache/btree_io.c index 0d04d623c08c..5cd85733ab80 100644 --- a/drivers/md/bcache/btree_io.c +++ b/drivers/md/bcache/btree_io.c @@ -732,6 +732,9 @@ static void bch_btree_node_write_dirty(struct btree *b, struct closure *parent) six_unlock_read(&b->lock); } +/* buffer up 4k before writing out a bset */ +#define BTREE_WRITE_SET_BUFFER (4 << 10) + /* * Write leaf nodes if the unwritten bset is getting too big: */ @@ -744,7 +747,7 @@ void bch_btree_node_write_lazy(struct btree *b, struct btree_iter *iter) if ((max(round_up(bytes, block_bytes(iter->c)), PAGE_SIZE) - bytes < 48 || - bytes > 16 << 10) && + bytes > BTREE_WRITE_SET_BUFFER) && b->io_mutex.count > 0) bch_btree_node_write(b, NULL, iter); } |