• Coly Li's avatar
    bcache: make bset_search_tree() be more understandable · 944a4f34
    Coly Li authored
    The purpose of following code in bset_search_tree() is to avoid a branch
    instruction,
     994         if (likely(f->exponent != 127))
     995                 n = j * 2 + (((unsigned int)
     996                               (f->mantissa -
     997                                bfloat_mantissa(search, f))) >> 31);
     998         else
     999                 n = (bkey_cmp(tree_to_bkey(t, j), search) > 0)
    1000                         ? j * 2
    1001                         : j * 2 + 1;
    
    This piece of code is not very clear to understand, even when I tried to
    add code comment for it, I made mistake. This patch removes the implict
    bit operation and uses explicit branch to calculate next location in
    binary tree search.
    Signed-off-by: default avatarColy Li <colyli@suse.de>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    944a4f34
bset.c 32.8 KB