From 294be0ce5ffd1d821360e06276e0f5d0fa4af4e9 Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Thu, 25 Mar 2021 19:22:31 -0400 Subject: [PATCH] ioscheduler tapset: adapt for loss of $q, standardize elevator_name block/scheduler kernel tracepoints have lost the $q parameter, since it is directly available from $rq. Thus the derived script variable elevator_name needs to be accessed that other route. Tested on f33 and rhel6. --- tapset/linux/ioscheduler.stp | 56 ++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/tapset/linux/ioscheduler.stp b/tapset/linux/ioscheduler.stp index bd5c5c06b..abb24dac9 100644 --- a/tapset/linux/ioscheduler.stp +++ b/tapset/linux/ioscheduler.stp @@ -20,7 +20,7 @@ * @elevator_name: The type of I/O elevator currently enabled */ probe ioscheduler.elv_next_request = kernel.function("blk_peek_request") !, - kernel.function("elv_next_request") + kernel.function("elv_next_request") ? { name = "elv_next_request" elevator_name = kernel_string( @@ -70,7 +70,7 @@ probe ioscheduler.elv_next_request.return = * @disk_minor: Disk minor number of the request */ probe ioscheduler.elv_completed_request - = kernel.function("elv_completed_request") + = kernel.function("elv_completed_request") ? { name = "elv_completed_request" elevator_name = kernel_string( @@ -148,11 +148,11 @@ probe ioscheduler.elv_add_request.kp = probe ioscheduler.elv_add_request.tp = kernel.trace("block_rq_insert") ? { name = "elv_add_request" - q = $q - elevator_name = ($q->elevator == 0) ? "" : kernel_string( - @choose_defined($q->elevator->type->elevator_name, - @choose_defined($q->elevator->elevator_type->elevator_name, - $q->elevator->elevator_name)), "") + q = $rq->q + elevator_name = kernel_string( + @choose_defined($rq->q->elevator->type->elevator_name, + @choose_defined($rq->q->elevator->elevator_type->elevator_name, + $rq->q->elevator->elevator_name)), "") rq = $rq if ($rq == 0 || $rq->rq_disk ==0) { @@ -197,15 +197,12 @@ probe ioscheduler_trace.elv_completed_request = kernel.trace("block_rq_complete") ? { name = "elv_completed_request" - if (@defined($q)) { - elevator_name = kernel_string( - @choose_defined($q->elevator->type->elevator_name, - @choose_defined($q->elevator->elevator_type->elevator_name, - $q->elevator->elevator_name)), "") - } - else { - elevator_name = kernel_string($rq->q->elevator->type->elevator_name) - } + q = $rq->q + elevator_name = kernel_string( + @choose_defined($rq->q->elevator->type->elevator_name, + @choose_defined($rq->q->elevator->elevator_type->elevator_name, + $rq->q->elevator->elevator_name)), "") + rq = $rq if ($rq == 0 || $rq->rq_disk ==0) { @@ -236,10 +233,11 @@ probe ioscheduler_trace.elv_issue_request = kernel.trace("block_rq_issue") ? { name = "elv_issue_request" - elevator_name = kernel_string( - @choose_defined($q->elevator->type->elevator_name, - @choose_defined($q->elevator->elevator_type->elevator_name, - $q->elevator->elevator_name)), "") + q = $rq->q + elevator_name = kernel_string( + @choose_defined($rq->q->elevator->type->elevator_name, + @choose_defined($rq->q->elevator->elevator_type->elevator_name, + $rq->q->elevator->elevator_name)), "") rq = $rq if ($rq == 0 || $rq->rq_disk ==0) { @@ -270,10 +268,11 @@ probe ioscheduler_trace.elv_requeue_request = kernel.trace("block_rq_requeue") ? { name = "elv_requeue_request" - elevator_name = kernel_string( - @choose_defined($q->elevator->type->elevator_name, - @choose_defined($q->elevator->elevator_type->elevator_name, - $q->elevator->elevator_name)), "") + q = $rq->q + elevator_name = kernel_string( + @choose_defined($rq->q->elevator->type->elevator_name, + @choose_defined($rq->q->elevator->elevator_type->elevator_name, + $rq->q->elevator->elevator_name)), "") rq = $rq if ($rq == 0 || $rq->rq_disk ==0) { @@ -303,10 +302,11 @@ probe ioscheduler_trace.elv_abort_request = kernel.trace("block_rq_abort") ? { name = "elv_abort_request" - elevator_name = kernel_string( - @choose_defined($q->elevator->type->elevator_name, - @choose_defined($q->elevator->elevator_type->elevator_name, - $q->elevator->elevator_name)), "") + q = $rq->q + elevator_name = kernel_string( + @choose_defined($rq->q->elevator->type->elevator_name, + @choose_defined($rq->q->elevator->elevator_type->elevator_name, + $rq->q->elevator->elevator_name)), "") rq = $rq if ($rq == 0 || $rq->rq_disk ==0) { -- 2.43.5