Re: [PATCH] block: trace all devices plug operation.

From: majianpeng
Date: Sun Sep 01 2013 - 21:54:24 EST


Hi axboe:
How about this patch?

Thanks!
Jianpeng Ma
>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 <majianpeng@xxxxxxxxx>
>---
> block/blk-core.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
>diff --git a/block/blk-core.c b/block/blk-core.c
>index 93a18d1..91037f7 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) {
>--
>1.8.3㈤旃??????+-遍荻?w??笔???dz罐??骅w*jg??????/??罐????璀??摺?囤??????:+v???佶>W?贽i?xPj??? -?+?d?