]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
bluestore: the exhausted check in BitMapZone can be lock-less. 13653/head
authorRadoslaw Zarzynski <rzarzynski@mirantis.com>
Sat, 25 Feb 2017 12:29:54 +0000 (13:29 +0100)
committerRadoslaw Zarzynski <rzarzynski@mirantis.com>
Sat, 25 Feb 2017 19:47:24 +0000 (20:47 +0100)
commitd76f222462f01f03c337d0e2d174d10edb5db004
tree7426645bcaa4d11fef460a9364b026220e696a1f
parentde98df6814591cc0064df2d8ebb2f891e57e959b
bluestore: the exhausted check in BitMapZone can be lock-less.

Before the patch BitMapZone::is_exhausted() required from its
callers to acquire appropriate lock. However, fulfilling this
condition is not really necessary to use the method correctly
while it can significantly hurt performance.

The change allows BitMapAreaLeaf::child_check_n_lock() to not
acquire the lock while examining zones for being exhausted.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
src/os/bluestore/BitAllocator.cc