kernel_optimize_test/net/ceph/crush
Ilya Dryomov 74a5293832 crush: don't normalize input of crush_ln iteratively
Use __builtin_clz() supported by GCC and Clang to figure out
how many bits we should shift instead of shifting by a bit
in a loop until the value gets normalized. Improves performance
of this function by up to 3x in worst-case scenario and overall
straw2 performance by ~10%.

Reflects ceph.git commit 110de33ca497d94fc4737e5154d3fe781fa84a0a.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2016-10-05 23:02:04 +02:00
..
crush_ln_table.h crush: sync up with userspace 2015-06-25 11:49:31 +03:00
crush.c crush: sync up with userspace 2015-06-25 11:49:31 +03:00
hash.c crush: sync up with userspace 2015-06-25 11:49:31 +03:00
mapper.c crush: don't normalize input of crush_ln iteratively 2016-10-05 23:02:04 +02:00