]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
crimson/osd: drop a foreign-copy to shard-0 for every pg operation
authorYingxin Cheng <yingxin.cheng@intel.com>
Mon, 11 Dec 2023 06:38:51 +0000 (14:38 +0800)
committerYingxin Cheng <yingxin.cheng@intel.com>
Mon, 22 Jan 2024 08:52:52 +0000 (16:52 +0800)
commit3eb3327b848e511ea52e58669bbfa668093cdfcb
treecf575a6a5ef29651d33e7f4ca7ce70a139afcf98
parent829a9b4d5f61d97ef1d45a6ca972b0cd65d1306c
crimson/osd: drop a foreign-copy to shard-0 for every pg operation

By using ConnectionRef before pg submission, and after that, change to
use ConnectionXcoreRef.

The intent is to drop the foreign copy of the connection to shard 0 at
pg submission time. This should remove two pairs of crosscore
communications in shard 0 for each I/O, one for connection-ref foreign
copy, another for connection-ref destruction.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
27 files changed:
src/crimson/common/local_shared_foreign_ptr.h
src/crimson/net/Fwd.h
src/crimson/osd/ops_executer.cc
src/crimson/osd/ops_executer.h
src/crimson/osd/osd_operations/client_request.cc
src/crimson/osd/osd_operations/client_request.h
src/crimson/osd/osd_operations/logmissing_request.cc
src/crimson/osd/osd_operations/logmissing_request.h
src/crimson/osd/osd_operations/logmissing_request_reply.cc
src/crimson/osd/osd_operations/logmissing_request_reply.h
src/crimson/osd/osd_operations/peering_event.cc
src/crimson/osd/osd_operations/peering_event.h
src/crimson/osd/osd_operations/recovery_subrequest.cc
src/crimson/osd/osd_operations/recovery_subrequest.h
src/crimson/osd/osd_operations/replicated_request.cc
src/crimson/osd/osd_operations/replicated_request.h
src/crimson/osd/osd_operations/scrub_events.cc
src/crimson/osd/osd_operations/scrub_events.h
src/crimson/osd/pg.cc
src/crimson/osd/pg.h
src/crimson/osd/pg_shard_manager.h
src/crimson/osd/recovery_backend.cc
src/crimson/osd/recovery_backend.h
src/crimson/osd/replicated_recovery_backend.cc
src/crimson/osd/replicated_recovery_backend.h
src/crimson/osd/watch.cc
src/crimson/osd/watch.h