Question about bcache buckets utilization

From: Lulina (A)
Date: Tue Sep 09 2014 - 04:08:24 EST


Hi! Kent Overstreet, I tested bcache branch for jens:
http://evilpiepirate.org/git/linux-bcache.git/log/?h=for-jens

I have a question about buckets utilization, can you help me to resolve it?

This is the test fio cmd:
fio -name iops -rw=randwrite -iodepth=32 -numjobs=1 -filename=/dev/bcache0 -ioengine libaio -direct=1 -bs=4k -size=500M -runtime=600 -time_based -random_distribution=zipf:1.2

My cache device is 1G size, and Hdd device is 5G size. The bucket size is default 512k.
When the test is run, cache is over CUTOFF_WRITEBACK_SYNC after 3 or 4 seconds. The test result is as follows:

Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
bcache0 0.00 0.00 0.00 62081.00 0.00 242.50 8.00 0.00 0.01 0.00 0.00
bcache0 0.00 0.00 0.00 72407.00 0.00 282.84 8.00 0.00 0.01 0.00 0.00
bcache0 0.00 0.00 0.00 62990.00 0.00 246.05 8.00 0.00 0.08 0.00 0.00
bcache0 0.00 0.00 0.00 511.00 0.00 2.00 8.00 0.00 62.53 0.00 0.00
bcache0 0.00 0.00 0.00 601.00 0.00 2.35 8.00 0.00 52.73 0.00 0.00

After cache is over CUTOFF_WRITEBACK_SYNC, all writes come down to the hdd, then I got a pool performance.

As the random rang is set to 500M, It will all overlapped in the cache device.
Why the overlapped buckets can't be reused? Is there any other conditions need to meet?

Thanks,
Lina Lu
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/