All of lore.kernel.org
 help / color / mirror / Atom feed
From: Damien Le Moal <dlemoal@kernel.org>
To: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>
Cc: Bart Van Assche <bvanassche@acm.org>, linux-block@vger.kernel.org
Subject: Re: [PATCH 08/18] blk-mq: fold __blk_mq_insert_req_list into blk_mq_insert_request
Date: Wed, 12 Apr 2023 16:16:36 +0900	[thread overview]
Message-ID: <fd0e02c6-8fbb-cb7b-4925-331c132aeb7a@kernel.org> (raw)
In-Reply-To: <20230412053248.601961-9-hch@lst.de>

On 4/12/23 14:32, Christoph Hellwig wrote:
> Remove this very small helper and fold it into the only caller.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> Reviewed-by: Bart Van Assche <bvanassche@acm.org>
> ---
>  block/blk-mq.c | 25 +++++++------------------
>  1 file changed, 7 insertions(+), 18 deletions(-)
> 
> diff --git a/block/blk-mq.c b/block/blk-mq.c
> index 103caf1bae2769..7e9f7d00452f11 100644
> --- a/block/blk-mq.c
> +++ b/block/blk-mq.c
> @@ -2446,23 +2446,6 @@ static void blk_mq_run_work_fn(struct work_struct *work)
>  	__blk_mq_run_hw_queue(hctx);
>  }
>  
> -static inline void __blk_mq_insert_req_list(struct blk_mq_hw_ctx *hctx,
> -					    struct request *rq,
> -					    bool at_head)
> -{
> -	struct blk_mq_ctx *ctx = rq->mq_ctx;
> -	enum hctx_type type = hctx->type;
> -
> -	lockdep_assert_held(&ctx->lock);
> -
> -	trace_block_rq_insert(rq);
> -
> -	if (at_head)
> -		list_add(&rq->queuelist, &ctx->rq_lists[type]);
> -	else
> -		list_add_tail(&rq->queuelist, &ctx->rq_lists[type]);
> -}
> -
>  /**
>   * blk_mq_request_bypass_insert - Insert a request at dispatch list.
>   * @rq: Pointer to request to be inserted.
> @@ -2586,8 +2569,14 @@ static void blk_mq_insert_request(struct request *rq, bool at_head,
>  		list_add(&rq->queuelist, &list);
>  		e->type->ops.insert_requests(hctx, &list, at_head);
>  	} else {
> +		trace_block_rq_insert(rq);

Shouldn't we keep the trace call under ctx->lock to preserve precise tracing ?

> +
>  		spin_lock(&ctx->lock);
> -		__blk_mq_insert_req_list(hctx, rq, at_head);
> +		if (at_head)
> +			list_add(&rq->queuelist, &ctx->rq_lists[hctx->type]);
> +		else
> +			list_add_tail(&rq->queuelist,
> +				      &ctx->rq_lists[hctx->type]);
>  		blk_mq_hctx_mark_pending(hctx, ctx);
>  		spin_unlock(&ctx->lock);
>  	}


  reply	other threads:[~2023-04-12  7:16 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-12  5:32 cleanup request insertation parameters v2 Christoph Hellwig
2023-04-12  5:32 ` [PATCH 01/18] blk-mq: don't plug for head insertions in blk_execute_rq_nowait Christoph Hellwig
2023-04-12  6:55   ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 02/18] blk-mq: remove blk-mq-tag.h Christoph Hellwig
2023-04-12  6:57   ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 03/18] blk-mq: include <linux/blk-mq.h> in block/blk-mq.h Christoph Hellwig
2023-04-12  6:58   ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 04/18] blk-mq: move more logic into blk_mq_insert_requests Christoph Hellwig
2023-04-12  7:07   ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 05/18] blk-mq: fold blk_mq_sched_insert_requests into blk_mq_dispatch_plug_list Christoph Hellwig
2023-04-12  7:09   ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 06/18] blk-mq: move blk_mq_sched_insert_request to blk-mq.c Christoph Hellwig
2023-04-12  7:14   ` Damien Le Moal
2023-04-12  7:18     ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 07/18] blk-mq: fold __blk_mq_insert_request into blk_mq_insert_request Christoph Hellwig
2023-04-12  7:15   ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 08/18] blk-mq: fold __blk_mq_insert_req_list " Christoph Hellwig
2023-04-12  7:16   ` Damien Le Moal [this message]
2023-04-12  7:20     ` Christoph Hellwig
2023-04-12  7:33       ` Damien Le Moal
2023-04-12 11:45         ` Christoph Hellwig
2023-04-13  6:14         ` Christoph Hellwig
2023-04-13  6:16           ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 09/18] blk-mq: remove blk_flush_queue_rq Christoph Hellwig
2023-04-12  7:17   ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 10/18] blk-mq: refactor passthrough vs flush handling in blk_mq_insert_request Christoph Hellwig
2023-04-12  7:22   ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 11/18] blk-mq: refactor the DONTPREP/SOFTBARRIER andling in blk_mq_requeue_work Christoph Hellwig
2023-04-12  7:24   ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 12/18] blk-mq: factor out a blk_mq_get_budget_and_tag helper Christoph Hellwig
2023-04-12  7:26   ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 13/18] blk-mq: fold __blk_mq_try_issue_directly into its two callers Christoph Hellwig
2023-04-12  7:31   ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 14/18] blk-mq: don't run the hw_queue from blk_mq_insert_request Christoph Hellwig
2023-04-12  7:40   ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 15/18] blk-mq: don't run the hw_queue from blk_mq_request_bypass_insert Christoph Hellwig
2023-04-12  7:42   ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 16/18] blk-mq: pass a flags argument to blk_mq_insert_request Christoph Hellwig
2023-04-12  7:45   ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 17/18] blk-mq: pass a flags argument to blk_mq_request_bypass_insert Christoph Hellwig
2023-04-12  7:46   ` Damien Le Moal
2023-04-12  5:32 ` [PATCH 18/18] blk-mq: pass the flags argument to elevator_type->insert_requests Christoph Hellwig
2023-04-12  7:47   ` Damien Le Moal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fd0e02c6-8fbb-cb7b-4925-331c132aeb7a@kernel.org \
    --to=dlemoal@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=bvanassche@acm.org \
    --cc=hch@lst.de \
    --cc=linux-block@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.