]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
spawn: use explicit strand executor
authorCasey Bodley <cbodley@redhat.com>
Mon, 1 Nov 2021 17:14:16 +0000 (13:14 -0400)
committerCory Snyder <csnyder@iland.com>
Tue, 16 Nov 2021 14:16:36 +0000 (09:16 -0500)
commit90b33f491df73ac0abb185ea21b3ba9db8b34b7d
treea08ac5dd2ada8850c51322f943316284b323c3d5
parenta9d11546024a9cc936e720f9ab1fc7edc46bfb31
spawn: use explicit strand executor

the default spawn::yield_context uses the polymorphic boost::asio::executor
to support any executor type

rgw's beast frontend always uses the same executor type for these
coroutines, so we can use that type directly to avoid the overhead of
type erasure and virtual function calls

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 9d9258e06b78bb47fd0156d9bd7bb00b52a726b0)

Conflicts:
src/rgw/rgw_d3n_cacherequest.h

Cherry-pick notes:
- src/rgw/rgw_d3n_cacherequest.h did not exist on Pacific
src/common/async/yield_context.h
src/rgw/rgw_aio.cc
src/rgw/rgw_aio_throttle.h
src/rgw/rgw_asio_frontend.cc
src/rgw/rgw_notify.cc
src/rgw/rgw_sync_checkpoint.cc
src/test/rgw/test_rgw_dmclock_scheduler.cc
src/test/rgw/test_rgw_reshard_wait.cc
src/test/rgw/test_rgw_throttle.cc