• Tang Junhui's avatar
    bcache: increase the number of open buckets · 89b1fc54
    Tang Junhui authored
    In currently, we only alloc 6 open buckets for each cache set,
    but in usually, we always attach about 10 or so backend devices for
    each cache set, and the each bcache device are always accessed by
    about 10 or so threads in top application layer. So 6 open buckets
    are too few, It has led to that each of the same thread write data
    to different buckets, which would cause low efficiency write-back,
    and also cause buckets inefficient, and would be Very easy to run
    out of.
    
    I add debug message in bch_open_buckets_alloc() to print alloc bucket
    info, and test with ten bcache devices with a cache set, and each
    bcache device is accessed by ten threads.
    
    From the debug message, we can see that, after the modification, One
    bucket is more likely to assign to the same thread, and the data from
    the same thread are more likely to write the same bucket. Usually the
    same thread always write/read the same backend device, so it is good
    for write-back and also promote the usage efficiency of buckets.
    Signed-off-by: default avatarTang Junhui <tang.junhui@zte.com.cn>
    Reviewed-by: default avatarColy Li <colyli@suse.de>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    89b1fc54
alloc.c 17.8 KB