block: fixup block IO unplug trace call
It was removed with the on-stack plugging, readd it and track the
depth of requests added when flushing the plug.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
diff --git a/include/trace/events/block.h b/include/trace/events/block.h
index 43a9853..006e60b 100644
--- a/include/trace/events/block.h
+++ b/include/trace/events/block.h
@@ -401,9 +401,9 @@
DECLARE_EVENT_CLASS(block_unplug,
- TP_PROTO(struct request_queue *q),
+ TP_PROTO(struct request_queue *q, unsigned int depth),
- TP_ARGS(q),
+ TP_ARGS(q, depth),
TP_STRUCT__entry(
__field( int, nr_rq )
@@ -411,7 +411,7 @@
),
TP_fast_assign(
- __entry->nr_rq = q->rq.count[READ] + q->rq.count[WRITE];
+ __entry->nr_rq = depth;
memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
),
@@ -421,15 +421,16 @@
/**
* block_unplug_io - release of operations requests in request queue
* @q: request queue to unplug
+ * @depth: number of requests just added to the queue
*
* Unplug request queue @q because device driver is scheduled to work
* on elements in the request queue.
*/
DEFINE_EVENT(block_unplug, block_unplug_io,
- TP_PROTO(struct request_queue *q),
+ TP_PROTO(struct request_queue *q, unsigned int depth),
- TP_ARGS(q)
+ TP_ARGS(q, depth)
);
/**