Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP3:GA
lttng-modules.389
fix-update-block-instrumentation-to-3.15-kernel...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File fix-update-block-instrumentation-to-3.15-kernel.patch of Package lttng-modules.389
From: mathieu desnoyers <mathieu.desnoyers@efficios.com> Subject: Fix: update block instrumentation to 3.15 kernel Date: Tue Apr 15 11:13:16 2014 -0400 Git-commit: 1c53e689434a6bdd7dc3f54c07bfb72750d1d24c Git-repo: git://git.lttng.org/lttng-modules.git References: none Signed-off-by: Tony Jones <tonyj@suse.de> Required for following upstream commit introduced by 3.12.21 stable kernel update. commit af5040da01ef980670b3741b3e10733ee3e33566 Author: Roman Pen <r.peniaev@gmail.com> Date: Tue Mar 4 23:13:10 2014 +0900 blktrace: fix accounting of partially completed requests --- instrumentation/events/lttng-module/block.h | 35 +++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) --- a/instrumentation/events/lttng-module/block.h +++ b/instrumentation/events/lttng-module/block.h @@ -225,6 +225,7 @@ DEFINE_EVENT(block_rq_with_error, block_ * block_rq_complete - block IO operation completed by device driver * @q: queue containing the block operation request * @rq: block operations request + * @nr_bytes: number of completed bytes * * The block_rq_complete tracepoint event indicates that some portion * of operation request has been completed by the device driver. If @@ -232,11 +233,39 @@ DEFINE_EVENT(block_rq_with_error, block_ * do for the request. If @rq->bio is non-NULL then there is * additional work required to complete the request. */ -DEFINE_EVENT(block_rq_with_error, block_rq_complete, +TRACE_EVENT(block_rq_complete, - TP_PROTO(struct request_queue *q, struct request *rq), + TP_PROTO(struct request_queue *q, struct request *rq, + unsigned int nr_bytes), - TP_ARGS(q, rq) + TP_ARGS(q, rq, nr_bytes), + + TP_STRUCT__entry( + __field( dev_t, dev ) + __field( sector_t, sector ) + __field( unsigned int, nr_sector ) + __field( int, errors ) + __field( unsigned int, rwbs ) + __dynamic_array_hex( unsigned char, cmd, + (rq->cmd_type == REQ_TYPE_BLOCK_PC) ? + rq->cmd_len : 0) + ), + + TP_fast_assign( + tp_assign(dev, rq->rq_disk ? disk_devt(rq->rq_disk) : 0) + tp_assign(sector, blk_rq_pos(rq)) + tp_assign(nr_sector, nr_bytes >> 9) + tp_assign(errors, rq->errors) + blk_fill_rwbs(rwbs, rq->cmd_flags, nr_bytes) + tp_memcpy_dyn(cmd, (rq->cmd_type == REQ_TYPE_BLOCK_PC) ? + rq->cmd : NULL) + ), + + TP_printk("%d,%d %s (%s) %llu + %u [%d]", + MAJOR(__entry->dev), MINOR(__entry->dev), + __entry->rwbs, __get_str(cmd), + (unsigned long long)__entry->sector, + __entry->nr_sector, __entry->errors) ) DECLARE_EVENT_CLASS(block_rq,
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor