Ming Lei <ming....@canonical.com> writes: > The trace point is for tracing plug event of each request > queue instead of each task, so we should check the request > count in the plug list from current queue instead of > current task.
If blk_queue_nomerges returns true, request_count won't be updated, so you've essentially broken plugging for those queues. Cheers, Jeff > > Signed-off-by: Ming Lei <ming....@canonical.com> > --- > block/blk-mq.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/block/blk-mq.c b/block/blk-mq.c > index d55d022..a5e33bc 100644 > --- a/block/blk-mq.c > +++ b/block/blk-mq.c > @@ -1377,7 +1377,7 @@ static void blk_sq_make_request(struct request_queue > *q, struct bio *bio) > plug = current->plug; > if (plug) { > blk_mq_bio_to_request(rq, bio); > - if (list_empty(&plug->mq_list)) > + if (!request_count) > trace_block_plug(q); > else if (request_count >= BLK_MAX_REQUEST_COUNT) { > blk_flush_plug_list(plug, false); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/