aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/iomgr/ev_epollex_linux.c
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2017-09-01 09:41:43 -0700
committerGravatar Craig Tiller <ctiller@google.com>2017-09-01 09:41:43 -0700
commit0ff222a23b94a34d03d1cfa4b5c148406e441f4c (patch)
treee599ba1b0bdb18d24fdf0bc725f32cf087470f34 /src/core/lib/iomgr/ev_epollex_linux.c
parent4b852546266e63fcc1e5a67ae7be3608be69af50 (diff)
Add pollset_kick stats
Diffstat (limited to 'src/core/lib/iomgr/ev_epollex_linux.c')
-rw-r--r--src/core/lib/iomgr/ev_epollex_linux.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/core/lib/iomgr/ev_epollex_linux.c b/src/core/lib/iomgr/ev_epollex_linux.c
index 0e42f76af3..165a562bd7 100644
--- a/src/core/lib/iomgr/ev_epollex_linux.c
+++ b/src/core/lib/iomgr/ev_epollex_linux.c
@@ -561,6 +561,7 @@ static void do_kick_all(grpc_exec_ctx *exec_ctx, void *arg,
if (pollset->root_worker != NULL) {
grpc_pollset_worker *worker = pollset->root_worker;
do {
+ GRPC_STATS_INC_POLLSET_KICK(exec_ctx);
if (worker->pollable != &pollset->pollable) {
gpr_mu_lock(&worker->pollable->po.mu);
}
@@ -599,7 +600,8 @@ static void pollset_kick_all(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset) {
GRPC_ERROR_NONE);
}
-static grpc_error *pollset_kick_inner(grpc_pollset *pollset, pollable *p,
+static grpc_error *pollset_kick_inner(grpc_exec_ctx *exec_ctx,
+ grpc_pollset *pollset, pollable *p,
grpc_pollset_worker *specific_worker) {
if (GRPC_TRACER_ON(grpc_polling_trace)) {
gpr_log(GPR_DEBUG,
@@ -662,13 +664,14 @@ static grpc_error *pollset_kick_inner(grpc_pollset *pollset, pollable *p,
}
/* p->po.mu must be held before calling this function */
-static grpc_error *pollset_kick(grpc_pollset *pollset,
+static grpc_error *pollset_kick(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset,
grpc_pollset_worker *specific_worker) {
pollable *p = pollset->current_pollable;
+ GRPC_STATS_INC_POLLSET_KICK(exec_ctx);
if (p != &pollset->pollable) {
gpr_mu_lock(&p->po.mu);
}
- grpc_error *error = pollset_kick_inner(pollset, p, specific_worker);
+ grpc_error *error = pollset_kick_inner(exec_ctx, pollset, p, specific_worker);
if (p != &pollset->pollable) {
gpr_mu_unlock(&p->po.mu);
}