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    [W:0.026 / U:2.432 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site