All of lore.kernel.org
 help / color / mirror / Atom feed
From: Li Zefan <lizf@cn.fujitsu.com>
To: Wu Fengguang <fengguang.wu@intel.com>
Cc: Minchan Kim <minchan.kim@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	lkml <linux-kernel@vger.kernel.org>,
	Jens Axboe <jens.axboe@oracle.com>
Subject: Re: [PATCH] trace bio queueing trial only when it occurs
Date: Tue, 08 Sep 2009 10:02:38 +0800	[thread overview]
Message-ID: <4AA5BB3E.4050808@cn.fujitsu.com> (raw)
In-Reply-To: <20090908005520.GA7967@localhost>

Wu Fengguang wrote:
> Minchan,
> 
> I tend to agree with the change, but somehow confused by blkparse(1):
> 
>         Q -- queued   This notes *intent* to queue i/o at the given location.  No real requests exists yet.
> 
> Li Zefan has been working on blktrace and he can tell more.
> 

I work on ftrace-plugin blktrace and blk TRACE_EVENT, but don't know
much about the old blktrace history. ;)

I think the manpage says it's called before ->make_request_fn(), so
"No real requests exist yet".

Actually the trace was called just before make_request at first:
	2056a782f8e7e65fd4bfd027506b4ce1c5e9ccd4

And then 2 patches added some checks between them:
	5ddfe9691c91a244e8d1be597b6428fcefd58103
	51fd77bd9f512ab6cc9df0733ba1caaab89eb957

It seems to me it makes sense to have this patch.

> Thanks,
> Fengguang
> 
> On Tue, Sep 08, 2009 at 08:34:16AM +0800, Minchan Kim wrote:
>> It got lost in LKML mail storm.
>> I resend this.
>> Wu, Could you review this patch, please?
>>
>> == CUT_HERE ==
>>
>> If BIO is discarded or cross over end of device,
>> BIO queueing trial doesn't occur.
>>
>> Let's trace it only when it happens.
>>
>> Signed-off-by: Minchan Kim <minchan.kim@gmail.com>
>> ---
>>  block/blk-core.c |    4 ++--
>>  1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/block/blk-core.c b/block/blk-core.c
>> index 5b59592..1a0cfd5 100644
>> --- a/block/blk-core.c
>> +++ b/block/blk-core.c
>> @@ -1463,8 +1463,6 @@ static inline void __generic_make_request(struct bio *bio)
>>  		if (old_sector != -1)
>>  			trace_block_remap(q, bio, old_dev, old_sector);
>>
>> -		trace_block_bio_queue(q, bio);
>> -
>>  		old_sector = bio->bi_sector;
>>  		old_dev = bio->bi_bdev->bd_dev;
>>
>> @@ -1477,6 +1475,8 @@ static inline void __generic_make_request(struct bio *bio)
>>  			goto end_io;
>>  		}
>>
>> +		trace_block_bio_queue(q, bio);
>> +
>>  		ret = q->make_request_fn(q, bio);
>>  	} while (ret);
>>
>> --
>> 1.6.4
>>
>>
>>

  reply	other threads:[~2009-09-08  2:03 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-08  0:34 [PATCH] trace bio queueing trial only when it occurs Minchan Kim
2009-09-08  0:55 ` Wu Fengguang
2009-09-08  2:02   ` Li Zefan [this message]
2009-09-08  4:10     ` Minchan Kim
2009-09-08  4:13       ` Wu Fengguang
2009-09-08  4:24         ` Minchan Kim
2009-09-08 10:50   ` Jens Axboe
  -- strict thread matches above, loose matches on Subject: below --
2009-09-07  2:15 Minchan Kim

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=4AA5BB3E.4050808@cn.fujitsu.com \
    --to=lizf@cn.fujitsu.com \
    --cc=akpm@linux-foundation.org \
    --cc=fengguang.wu@intel.com \
    --cc=jens.axboe@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=minchan.kim@gmail.com \
    /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.