Discussion:
Question about bcache buckets utilization
Lulina (A)
2014-09-09 08:07:35 UTC
Permalink
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

Loading...