Re: Quick bcache benchmark
From: Marcus Sorensen <hidden>
Date: 2011-12-10 15:02:04
That keeps the 'bypassed' value from increasing, but it doesn't change write performance. BEFORE: [root@sansrv2-10 stats_day]# cat * 27.6M 83 3500 0 166 24380 40660 0 ...benchmarking... AFTER: [root@sansrv2-10 stats_day]# for i in `ls`; do echo -n "$i "; cat $i;
done 2>/dev/null
bypassed 27.6M cache_bypass_hits 83 cache_bypass_misses 3500 cache_hit_ratio 0 cache_hits 410 cache_miss_collisions 48879 cache_misses 80545 cache_readaheads 0 /sys/fs/bcache/60da061c-d646-4ebe-931a-d8580add411d average_key_size 0 block_size 2.0k btree_cache_size 3.2M bucket_size 1.0M cache_available_percent 100 clear_stats congested 0 congested_threshold_us 0 dirty_data 0 io_error_halflife 0 io_error_limit 8 root_usage_percent 0 synchronous 1 tree_depth 1 On Fri, Dec 9, 2011 at 11:33 PM, Kent Overstreet [off-list ref] wrote:
On Fri, Dec 09, 2011 at 10:09:55AM -0700, Marcus Sorensen wrote:quoted
Here's some more info. I'm running kernel 3.1.4. When I do random writes, the 'bypassed' number increases in stats. Now I'm random writing direct to /dev/bcache0 and get the same result.Weird. From what you're describing it sounds like throttling is screwed up (and it was recently), but I can't reproduce it now. Can you try echoing 0 to congested_threshold_us in the cache set dir, and seeing if that fixes it?quoted
There also seems to be some work needed with clean-up, since I'm unfamiliar with how bcache works I attempted to make-bcache twice, thinking I'd start over. That worked, but because my cache device was already registered I was unable to re-register my newly formatted cache dev, got "kobject_add_internal failed for bcache with -EEXIST, don't try to register things with the same name in the same directory." I was still able to use my cache device via the old uuid, but this will probably cause problems on reboot. Perhaps an unregister file in /sys/fs/bcache would help, I also tried rmmod'ing bcache to see if I could clear /sys/fs/bcache, but no luck. make-bcache should perhaps check for an existing superblock, ask for confirmation, and give some sort instruction on how to unregister, or do it for you if you reformat.Yeah, I think for some reason bcache isn't opening the devices exclusively on 3.1. I'll have a look...