X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=block%2Fblk-core.c;h=ea70e6c80cd34f0c2b563ceabcc7189027fc5182;hb=e27fc7e476077c724f313a3ddec44ad26c49f678;hp=f43c8a5840ae488131dbf395d5eaf96e2fea876d;hpb=94956eed14b4b16d401c8ad36d68df0608f968cb;p=firefly-linux-kernel-4.4.55.git diff --git a/block/blk-core.c b/block/blk-core.c index f43c8a5840ae..ea70e6c80cd3 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -1379,15 +1379,19 @@ get_rq: */ if (list_empty(&plug->list)) trace_block_plug(q); - else if (!plug->should_sort) { - struct request *__rq; + else { + if (!plug->should_sort) { + struct request *__rq; - __rq = list_entry_rq(plug->list.prev); - if (__rq->q != q) - plug->should_sort = 1; + __rq = list_entry_rq(plug->list.prev); + if (__rq->q != q) + plug->should_sort = 1; + } + if (request_count >= BLK_MAX_REQUEST_COUNT) { + blk_flush_plug_list(plug, false); + trace_block_plug(q); + } } - if (request_count >= BLK_MAX_REQUEST_COUNT) - blk_flush_plug_list(plug, false); list_add_tail(&req->queuelist, &plug->list); drive_stat_acct(req, 1); } else {