]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
crimson/osd: make the ObjectContextRegistry per-PG 49729/head
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Thu, 12 Jan 2023 17:16:15 +0000 (17:16 +0000)
committerRadosław Zarzyński <rzarzyns@redhat.com>
Thu, 9 Feb 2023 17:10:12 +0000 (18:10 +0100)
commit59c8ee4381aedc25da820e8d7396df73fb3b9ead
tree036b751247329b96b1008cd030019f8e0553d3ad
parent9754cafc029e1da83f5ddd4332b69066fe6b3ffb
crimson/osd: make the ObjectContextRegistry per-PG

This patch moves the OBC registry from ShardServices (which
is basicaly a gateway to a bunch of PGs) into PG itself.
Dividing OBCs by PG (they truly belong to) minimizes the space
to search when e.g. checking whether a client is blocked or
not. Therefore, this commit is enabler of more performant
PR #47637.

The changeset draws the assumption that OBC registry and all
its users live on the same CPU core. It looks valid to me.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/osd/object_context_loader.cc
src/crimson/osd/object_context_loader.h
src/crimson/osd/ops_executer.cc
src/crimson/osd/pg.cc
src/crimson/osd/pg.h
src/crimson/osd/recovery_backend.cc
src/crimson/osd/shard_services.cc
src/crimson/osd/shard_services.h