All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tao Ma <tm@tao.ma>
To: linux-kernel@vger.kernel.org
Cc: Jens Axboe <jaxboe@fusionio.com>, Jeff Moyer <jmoyer@redhat.com>
Subject: Re: [PATCH] blktrace: Use rq->cmd_flags directly in blk_add_trace_rq.
Date: Wed, 09 Mar 2011 22:06:04 +0800	[thread overview]
Message-ID: <4D77894C.8010703@tao.ma> (raw)
In-Reply-To: <1299219358-17507-1-git-send-email-tm@tao.ma>

Hi Jens and Jeff,
     any comment for this?
     It should be similar as patch 2d3a8497, but a fix to the real blktrace.

Regards,
Tao

On 03/04/2011 02:15 PM, Tao Ma wrote:
> From: Tao Ma<boyu.mt@taobao.com>
>
> In blk_add_trace_rq, we only chose the minor 2 bits from
> request's cmd_flags and did some check for discard.
> so most of other flags(e.g, REQ_SYNC) are missing.
>
> For example, with a sync write after blkparse we get:
>    8,16   1        1     0.001776503  7509  A  WS 1349632 + 1024<- (8,17) 1347584
>    8,16   1        2     0.001776813  7509  Q  WS 1349632 + 1024 [dd]
>    8,16   1        3     0.001780395  7509  G  WS 1349632 + 1024 [dd]
>    8,16   1        5     0.001783186  7509  I   W 1349632 + 1024 [dd]
>    8,16   1       11     0.001816987  7509  D   W 1349632 + 1024 [dd]
>    8,16   0        2     0.006218192     0  C   W 1349632 + 1024 [0]
>
> Since now we have integrated the flags of both bio and request,
> it is safe to pass rq->cmd_flags directly to __blk_add_trace.
>
> With this patch, after a sync write we get:
>    8,16   1        1     0.001776900  5425  A  WS 1189888 + 1024<- (8,17) 1187840
>    8,16   1        2     0.001777179  5425  Q  WS 1189888 + 1024 [dd]
>    8,16   1        3     0.001780797  5425  G  WS 1189888 + 1024 [dd]
>    8,16   1        5     0.001783402  5425  I  WS 1189888 + 1024 [dd]
>    8,16   1       11     0.001817468  5425  D  WS 1189888 + 1024 [dd]
>    8,16   0        2     0.005640709     0  C  WS 1189888 + 1024 [0]
>
> Cc: Jens Axboe<jaxboe@fusionio.com>
> Signed-off-by: Tao Ma<boyu.mt@taobao.com>
> ---
>   kernel/trace/blktrace.c |   15 ++++-----------
>   1 files changed, 4 insertions(+), 11 deletions(-)
>
> diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c
> index cbafed7..7aa40f8 100644
> --- a/kernel/trace/blktrace.c
> +++ b/kernel/trace/blktrace.c
> @@ -703,28 +703,21 @@ void blk_trace_shutdown(struct request_queue *q)
>    *
>    **/
>   static void blk_add_trace_rq(struct request_queue *q, struct request *rq,
> -				    u32 what)
> +			     u32 what)
>   {
>   	struct blk_trace *bt = q->blk_trace;
> -	int rw = rq->cmd_flags&  0x03;
>
>   	if (likely(!bt))
>   		return;
>
> -	if (rq->cmd_flags&  REQ_DISCARD)
> -		rw |= REQ_DISCARD;
> -
> -	if (rq->cmd_flags&  REQ_SECURE)
> -		rw |= REQ_SECURE;
> -
>   	if (rq->cmd_type == REQ_TYPE_BLOCK_PC) {
>   		what |= BLK_TC_ACT(BLK_TC_PC);
> -		__blk_add_trace(bt, 0, blk_rq_bytes(rq), rw,
> +		__blk_add_trace(bt, 0, blk_rq_bytes(rq), rq->cmd_flags,
>   				what, rq->errors, rq->cmd_len, rq->cmd);
>   	} else  {
>   		what |= BLK_TC_ACT(BLK_TC_FS);
> -		__blk_add_trace(bt, blk_rq_pos(rq), blk_rq_bytes(rq), rw,
> -				what, rq->errors, 0, NULL);
> +		__blk_add_trace(bt, blk_rq_pos(rq), blk_rq_bytes(rq),
> +				rq->cmd_flags, what, rq->errors, 0, NULL);
>   	}
>   }
>


  reply	other threads:[~2011-03-09 14:06 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-04  6:15 [PATCH] blktrace: Use rq->cmd_flags directly in blk_add_trace_rq Tao Ma
2011-03-09 14:06 ` Tao Ma [this message]
2011-03-09 14:31 ` Jeff Moyer
2011-03-11 19:12 ` Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D77894C.8010703@tao.ma \
    --to=tm@tao.ma \
    --cc=jaxboe@fusionio.com \
    --cc=jmoyer@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.