From: Jianpeng Ma Date: Wed, 11 Sep 2013 19:21:07 +0000 (-0600) Subject: block: trace all devices plug operation X-Git-Tag: firefly_0821_release~176^2~5264^2~6 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7aef2e780b13973ea60aed8c556107dabde6a495;p=firefly-linux-kernel-4.4.55.git block: trace all devices plug operation In func blk_queue_bio, if list of plug is empty,it will call blk_trace_plug. If process deal with a single device,it't ok.But if process deal with multi devices,it only trace the first device. Using request_count to judge, it can soleve this problem. In addition, i modify the comment. Signed-off-by: Jianpeng Ma Signed-off-by: Jens Axboe --- diff --git a/block/blk-core.c b/block/blk-core.c index 93a18d1d3da8..91037f74668e 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -1549,11 +1549,9 @@ get_rq: if (plug) { /* * If this is the first request added after a plug, fire - * of a plug trace. If others have been added before, check - * if we have multiple devices in this plug. If so, make a - * note to sort the list before dispatch. + * of a plug trace. */ - if (list_empty(&plug->list)) + if (!request_count) trace_block_plug(q); else { if (request_count >= BLK_MAX_REQUEST_COUNT) {