summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2015-04-23 02:21:17 -0700
committerKent Overstreet <kent.overstreet@gmail.com>2016-10-07 12:36:34 -0800
commit2269e4a2fc154283eba83b013d25011d2ca203b8 (patch)
tree4878d27882bce246d83bcc7b6349ba0b7997980e
parent32644b435fb7dd62e3e2d1814d71925d1c4532d1 (diff)
bcache: BTREE_WRITE_SET_BUFFER
-rw-r--r--drivers/md/bcache/btree_io.c5
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);
}