path: root/tools/firewire
diff options
authorKent Overstreet <>2013-07-31 16:29:54 -0700
committerKent Overstreet <>2013-09-18 13:32:09 -0700
commit6441d621188f611b1f4f2cc07d79e16c2869554b (patch)
tree42d3db86eee8e45f22e78bfb7be1d0bfcaaaf722 /tools/firewire
parent410dbb746130bc052bb3c7a337a86252874adbdf (diff)
bcache: Fix a writeback performance regression
Background writeback works by scanning the btree for dirty data and adding those keys into a fixed size buffer, then for each dirty key in the keybuf writing it to the backing device. When read_dirty() finishes and it's time to scan for more dirty data, we need to wait for the outstanding writeback IO to finish - they still take up slots in the keybuf (so that foreground writes can check for them to avoid races) - without that wait, we'll continually rescan when we'll be able to add at most a key or two to the keybuf, and that takes locks that starves foreground IO. Doh. Signed-off-by: Kent Overstreet <> Cc: linux-stable <> # >= v3.10
Diffstat (limited to 'tools/firewire')
0 files changed, 0 insertions, 0 deletions