[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <201209150935486569381@gmail.com>
Date: Sat, 15 Sep 2012 09:35:52 +0800
From: "Jianpeng Ma" <majianpeng@...il.com>
To: "Jens Axboe" <jaxboe@...ionio.com>
Cc: shli <shli@...nel.org>, linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: Re: [PATCH 2/3] block: Fix not tracing all device plug-operation.
On 2012-08-10 21:09 Jens Axboe <jaxboe@...ionio.com> Wrote:
>On 08/10/2012 01:46 PM, Jianpeng Ma wrote:
>> If process handled two or more devices,there will not be trace some
>> devices plug-operation.
>>
>> Signed-off-by: Jianpeng Ma <majianpeng@...il.com>
>> ---
>> block/blk-core.c | 16 +++++++++++++++-
>> 1 file changed, 15 insertions(+), 1 deletion(-)
>>
>> diff --git a/block/blk-core.c b/block/blk-core.c
>> index 7a3abc6..034f186 100644
>> --- a/block/blk-core.c
>> +++ b/block/blk-core.c
>> @@ -1521,11 +1521,25 @@ get_rq:
>> struct request *__rq;
>>
>> __rq = list_entry_rq(plug->list.prev);
>> - if (__rq->q != q)
>> + if (__rq->q != q) {
>> plug->should_sort = 1;
>> + trace_block_plug(q);
>> + }
>> + } else {
>> + struct request *__rq;
>> + list_for_each_entry_reverse(__rq, &plug->list,
>> + queuelist) {
>> + if (__rq->q == q) {
>> + list_add_tail(&req->queuelist,
>> + &__rq->queuelist);
>> + goto stat_acct;
>
>Did you verify this? It doesn't look right to me. You browse the list in
>reverse, which means __rq is the first one that has a matching q. Then
>you add the new req IN FRONT of that. You would want list_add() here
>instead, adding it as the last member of that q string, not in the
>middle.
>
>--
>Jens Axboe
>
Hi all:
How about those patches? Ok or wrong?
Thanks!
Powered by blists - more mailing lists