Thread (4 messages) 4 messages, 3 authors, 2017-11-21

Re: [PATCH] bcache: add a separate open bucket list for flash devices

From: Kent Overstreet <hidden>
Date: 2017-11-21 22:16:08
Also in: linux-bcache

On Tue, Nov 21, 2017 at 10:48:27PM +0800, Coly Li wrote:
On 21/11/2017 6:57 PM, Kent Overstreet wrote:
quoted
On Tue, Nov 21, 2017 at 06:50:32PM +0800, tang.junhui@zte.com.cn wrote:
quoted
From: Tang Junhui <redacted>

Currently in pick_data_bucket(), though we keep multiple buckets open
for writes, and try to segregate different write streams for better
cache utilization: first we look for a bucket where the last write to
it was sequential with the current write, and failing that we look
for a bucket that was last usedby the same task.

But actually, in such scenario that there are some flash devices
, and some backend bcache devices, when many tasks request these
flash devices and backend bcache devices, the write IOs may still
fall to the same bucket as bellow bucket:
| bcache data | flash data | bcache data | bcache data| flash data|
then after writeback of these backend bcache devices, the bucket would
be like bellow bucket:
| free | flash data | free | free | flash data |
This patch doesn't make any sense - open_buckets are only for allocations and
writes to the SSD.
Hi Kent,

I feel the purpose for this patch is to make flash only volume occupy as
less buckets as possible. Because dirty sectors of flash only volume is
not reclaimable, if their dirty sectors mixed with dirty sectors of
cached device, such buckets will be marked as dirty and won't be reclaimed.
If that's the goal the way to do it would be to segregate the write points, not
the open buckets.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help