backporting bcache-testing to kernel 3.4
Hi,
has anyone succeeded backporting bcache(-testing) branch to kernel 3.4?
I tried to get it working, patching commits from bcache-testing branch as well as block patches by Kent, on top of Kernel 3.4.23.
* writeback mode
* backing device: MD-RAID0, or a HDD
* cache device: loopback device on tmpfs (for test)
* testing command:
dd if=/dev/zero of=/dev/bcache0 bs=4K count=1M oflag=sync
Everything works fine, except for a problem of sync operation. Every write request is being immediately flushed into backing device. That's actually what I want to avoid in writeback caches. Observing block I/Os with iostat, it's weird that no data is actually written to backing device, despite of high IOPs. e.g.:
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s
avgrq-sz avgqu-sz await r_await w_await svctm %util
vdb 0.00 0.00 0.00 2550.00 0.00 0.00 0.00 2.05 0.81 0.00 0.81 0.26 67.00
If I test bcache-testing branch based on kernel 3.9-rc3, which means without backporting, then it works well without such massive bogus syncs. bcache-3.2 is also fine. So I suppose there might be any change on the block layer between 3.4 and 3.9, making bcache work in such a strange way.
Any idea?
Dongsu
A message that is not in the archive (sent off-list or not yet received): [email protected]
This sounds like the bug I _think_ I just fixed - Do you suppose you could try again with the current bcache branch?
Quoted 37 lines · Dongsu Park
Hi,
has anyone succeeded backporting bcache(-testing) branch to kernel 3.4?
I tried to get it working, patching commits from bcache-testing branch as well as block patches by Kent, on top of Kernel 3.4.23.
* writeback mode
* backing device: MD-RAID0, or a HDD
* cache device: loopback device on tmpfs (for test)
* testing command:
dd if=/dev/zero of=/dev/bcache0 bs=4K count=1M oflag=syncEverything works fine, except for a problem of sync operation. Every write request is being immediately flushed into backing device. That's actually what I want to avoid in writeback caches. Observing block I/Os with iostat, it's weird that no data is actually written to backing device, despite of high IOPs. e.g.:
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s
avgrq-sz avgqu-sz awaitr_awaitw_awaitsvctm %utilvdb 0.00 0.00 0.00 2550.00 0.00 0.00 0.00 2.05 0.81 0.00 0.81 0.26 67.00If I test bcache-testing branch based on kernel 3.9-rc3, which means without backporting, then it works well without such massive bogus syncs. bcache-3.2 is also fine. So I suppose there might be any change on the block layer between 3.4 and 3.9, making bcache work in such a strange way.
Any idea?
Dongsu
--
To unsubscribe from this list: send the line "unsubscribe linux-bcache" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html