提交 98ba6af7 编写于 作者: I Ilya Dryomov

crush: do is_out test only if we do not collide

The is_out() test may require an additional hashing operation, so we
should skip it whenever possible.

Reflects ceph.git commit db107cc7f15cf2481894add325dc93e33479f529.
Signed-off-by: NIlya Dryomov <idryomov@gmail.com>
上级 df963ea8
......@@ -552,14 +552,12 @@ static int crush_choose_firstn(const struct crush_map *map,
}
}
if (!reject) {
if (!reject && !collide) {
/* out? */
if (itemtype == 0)
reject = is_out(map, weight,
weight_max,
item, x);
else
reject = 0;
}
reject:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册