Hello, I apologise if this is something known, but my searching across the internet has revealed no answer for my issue, so I am attempting to find one here. uname -a: Linux htpc 4.8.0-32-generic #34-Ubuntu SMP Tue Dec 13 14:30:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux bcache-tools version: 1.0.8-2 (as provided in ubuntu yakkety apt repository) I have placed bcache in writeback mode over an mdadm array, followed by LVM and actual volumes that are then used by various services. The problem I'm experiencing is that for every write I make into the array, bcache makes periodic writes every second a few KB (less than 20KB/s) to the backing device. All bcache parameters are at default, here I list the writeback relevant ones: writeback_delay=30 writeback_percent=10 writeback_rate=512 (reverts to soon 512 even if changed) writeback_rate_d_term=30 writeback_rate_p_term_inverse=6000 writeback_rate_update_seconds=5 writeback_running=5 I don't see how writeback would be running every second, except if that's implied by writeback_rate. Increasing that to a large value temporarily causes the cache to flush much faster thus reducing the number of disk "clicks". It reverts to 512 again as soon as dirty_data goes below the large value. looking at writeback_rate_debug when the one-second flushes start, I can see that a few kilobytes are being flushed each second. Values of "writeback_rate_debug->dirty" field during one such session: 880k, 784k, 624k, 524k, 460k, 408k, 300k, 160k, 128k (128k remains and doesn't get flushed) I'm not sure what size one block is, but I configured the cache device with 4KB block size, so here's what I expected to happen: 30 seconds after the 880k write to disk, writeback should trigger and write up to 512*4KB = 2MB of data to the disk. Since the write was only 880k, that would be written in one go. Instead I got at least 8 writes, each with only a few kilobytes. I have three questions about this: 1. What am I missing? Why does the data get flushed so slowly? These flushes can take hours for larger writes causing the disks to constantly work with only kilobytes per second. 2. I'd like bcache to flush the dirty data (entirely) ASAP after the writeback_delay. How can I tell it to do that? 3. Is it possible to configure it such that the flushing would only take place if backing device wasn't under heavy read use at the time? I don't mind dirty data residing on SSD if that allows for faster overall operation. Thanks, Jure -- To unsubscribe from this list: send the line "unsubscribe linux-bcache" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html