use ee for max threadyness

pull/38139/head
Craig Tiller 1 week ago
parent 602c3ac545
commit e19a1af694
  1. 16
      src/core/lib/promise/party.cc

@ -29,11 +29,6 @@
#include "src/core/util/latent_see.h" #include "src/core/util/latent_see.h"
#include "src/core/util/sync.h" #include "src/core/util/sync.h"
#ifdef GRPC_MAXIMIZE_THREADYNESS
#include "src/core/lib/iomgr/exec_ctx.h" // IWYU pragma: keep
#include "src/core/util/thd.h" // IWYU pragma: keep
#endif
namespace grpc_core { namespace grpc_core {
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
@ -193,16 +188,13 @@ void Party::ForceImmediateRepoll(WakeupMask mask) {
void Party::RunLockedAndUnref(Party* party, uint64_t prev_state) { void Party::RunLockedAndUnref(Party* party, uint64_t prev_state) {
GRPC_LATENT_SEE_PARENT_SCOPE("Party::RunLocked"); GRPC_LATENT_SEE_PARENT_SCOPE("Party::RunLocked");
#ifdef GRPC_MAXIMIZE_THREADYNESS #if defined(GRPC_MAXIMIZE_THREADYNESS)
Thread thd( party->arena_->GetContext<grpc_event_engine::experimental::EventEngine>()
"RunParty", ->Run([party, prev_state]() {
[party, prev_state]() {
ApplicationCallbackExecCtx app_exec_ctx; ApplicationCallbackExecCtx app_exec_ctx;
ExecCtx exec_ctx; ExecCtx exec_ctx;
party->RunPartyAndUnref(prev_state); party->RunPartyAndUnref(prev_state);
}, });
nullptr, Thread::Options().set_joinable(false));
thd.Start();
#else #else
struct RunState; struct RunState;
static thread_local RunState* g_run_state = nullptr; static thread_local RunState* g_run_state = nullptr;

Loading…
Cancel
Save