lkml.org 
[lkml]   [2012]   [Sep]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Re: [PATCH 2/3] block: Fix not tracing all device plug-operation.
On 2012-08-10 21:09 Jens Axboe <jaxboe@fusionio.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@gmail.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!
\
 
 \ /
  Last update: 2012-09-15 04:01    [from the cache]
©2003-2011 Jasper Spaans