diff options
author | Kent Overstreet <kmo@daterainc.com> | 2013-07-31 16:29:54 -0700 |
---|---|---|
committer | Kent Overstreet <kmo@daterainc.com> | 2013-09-18 13:32:09 -0700 |
commit | 6441d621188f611b1f4f2cc07d79e16c2869554b (patch) | |
tree | 42d3db86eee8e45f22e78bfb7be1d0bfcaaaf722 /drivers/iio/trigger/stm32-timer-trigger.c | |
parent | 410dbb746130bc052bb3c7a337a86252874adbdf (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 <kmo@daterainc.com>
Cc: linux-stable <stable@vger.kernel.org> # >= v3.10
Diffstat (limited to 'drivers/iio/trigger/stm32-timer-trigger.c')
0 files changed, 0 insertions, 0 deletions