aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2017-01-26 11:21:11 -0800
committerGravatar Craig Tiller <ctiller@google.com>2017-01-26 11:21:11 -0800
commit5082d7e94264380d135fce54bf71df70b1290c19 (patch)
tree9ff0bee89408d96f20beb32f6b76c1fe3fa1c4cc
parent0292bf617697119b84b68f8ea52ded8a0954ad17 (diff)
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.
-rw-r--r--src/core/lib/iomgr/resource_quota.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/core/lib/iomgr/resource_quota.c b/src/core/lib/iomgr/resource_quota.c
index 31590cd53b..0286309921 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;
}