2009-07-28 13:07:57

by Ryo Tsuruta

[permalink] [raw]
Subject: [BUGFIX] index of rq.count[]

Hi,

The following patch corrects that the index of rq.count[] should use
BLK_RW_SYNC/BLK_RW_ASYNC instead of READ/WRITE.

Thanks,
Ryo Tsuruta

---
include/trace/events/block.h | 6 ++++--
kernel/trace/blktrace.c | 6 ++++--
2 files changed, 8 insertions(+), 4 deletions(-)

Index: linux-2.6.31-rc4/kernel/trace/blktrace.c
===================================================================
--- linux-2.6.31-rc4.orig/kernel/trace/blktrace.c
+++ linux-2.6.31-rc4/kernel/trace/blktrace.c
@@ -796,7 +796,8 @@ static void blk_add_trace_unplug_io(stru
struct blk_trace *bt = q->blk_trace;

if (bt) {
- unsigned int pdu = q->rq.count[READ] + q->rq.count[WRITE];
+ unsigned int pdu =
+ q->rq.count[BLK_RW_SYNC] + q->rq.count[BLK_RW_ASYNC];
__be64 rpdu = cpu_to_be64(pdu);

__blk_add_trace(bt, 0, 0, 0, BLK_TA_UNPLUG_IO, 0,
@@ -809,7 +810,8 @@ static void blk_add_trace_unplug_timer(s
struct blk_trace *bt = q->blk_trace;

if (bt) {
- unsigned int pdu = q->rq.count[READ] + q->rq.count[WRITE];
+ unsigned int pdu =
+ q->rq.count[BLK_RW_SYNC] + q->rq.count[BLK_RW_ASYNC];
__be64 rpdu = cpu_to_be64(pdu);

__blk_add_trace(bt, 0, 0, 0, BLK_TA_UNPLUG_TIMER, 0,
Index: linux-2.6.31-rc4/include/trace/events/block.h
===================================================================
--- linux-2.6.31-rc4.orig/include/trace/events/block.h
+++ linux-2.6.31-rc4/include/trace/events/block.h
@@ -397,7 +397,8 @@ TRACE_EVENT(block_unplug_timer,
),

TP_fast_assign(
- __entry->nr_rq = q->rq.count[READ] + q->rq.count[WRITE];
+ __entry->nr_rq =
+ q->rq.count[BLK_RW_SYNC] + q->rq.count[BLK_RW_ASYNC];
memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
),

@@ -416,7 +417,8 @@ TRACE_EVENT(block_unplug_io,
),

TP_fast_assign(
- __entry->nr_rq = q->rq.count[READ] + q->rq.count[WRITE];
+ __entry->nr_rq =
+ q->rq.count[BLK_RW_SYNC] + q->rq.count[BLK_RW_ASYNC];
memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
),


2009-07-28 20:21:07

by Jens Axboe

[permalink] [raw]
Subject: Re: [BUGFIX] index of rq.count[]

On Tue, Jul 28 2009, Ryo Tsuruta wrote:
> Hi,
>
> The following patch corrects that the index of rq.count[] should use
> BLK_RW_SYNC/BLK_RW_ASYNC instead of READ/WRITE.

It's not a bug fix as such, since they are both 0 and 1. But
for clarity it should be changed, that can wait until .32 though.

--
Jens Axboe