From 5082d7e94264380d135fce54bf71df70b1290c19 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 26 Jan 2017 11:21:11 -0800 Subject: [PATCH] Remove slice allocator completion callbacks from global combiner These were never intended to be under that lock, and doing so can (sometimes) flatten our concurrency back to a single thread. --- src/core/lib/iomgr/resource_quota.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/core/lib/iomgr/resource_quota.c b/src/core/lib/iomgr/resource_quota.c index 31590cd53b7..0286309921e 100644 --- a/src/core/lib/iomgr/resource_quota.c +++ b/src/core/lib/iomgr/resource_quota.c @@ -804,12 +804,10 @@ void grpc_resource_user_finish_reclamation(grpc_exec_ctx *exec_ctx, void grpc_resource_user_slice_allocator_init( grpc_resource_user_slice_allocator *slice_allocator, grpc_resource_user *resource_user, grpc_iomgr_cb_func cb, void *p) { - grpc_closure_init( - &slice_allocator->on_allocated, ru_allocated_slices, slice_allocator, - grpc_combiner_scheduler(resource_user->resource_quota->combiner, false)); - grpc_closure_init( - &slice_allocator->on_done, cb, p, - grpc_combiner_scheduler(resource_user->resource_quota->combiner, false)); + grpc_closure_init(&slice_allocator->on_allocated, ru_allocated_slices, + slice_allocator, grpc_schedule_on_exec_ctx); + grpc_closure_init(&slice_allocator->on_done, cb, p, + grpc_schedule_on_exec_ctx); slice_allocator->resource_user = resource_user; }