All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Bart Van Assche <bvanassche@acm.org>
Cc: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>,
	linux-block@vger.kernel.org, Mike Snitzer <snitzer@kernel.org>,
	Damien Le Moal <dlemoal@kernel.org>,
	Jaegeuk Kim <jaegeuk@kernel.org>, Ming Lei <ming.lei@redhat.com>,
	Jianchao Wang <jianchao.w.wang@oracle.com>
Subject: Re: [PATCH v3 2/7] block: Send requeued requests to the I/O scheduler
Date: Thu, 25 May 2023 10:25:47 +0200	[thread overview]
Message-ID: <20230525082547.GA23344@lst.de> (raw)
In-Reply-To: <3e4dc15a-1117-1122-1d9d-746aef55ef95@acm.org>

On Wed, May 24, 2023 at 11:22:00AM -0700, Bart Van Assche wrote:
>>>   static inline void blk_mq_sched_requeue_request(struct request *rq)
>>>   {
>>> -	if (rq->rq_flags & RQF_USE_SCHED) {
>>> -		struct request_queue *q = rq->q;
>>> -		struct elevator_queue *e = q->elevator;
>>> -
>>> -		if (e->type->ops.requeue_request)
>>> -			e->type->ops.requeue_request(rq);
>>> -	}
>>> +	if (rq->rq_flags & RQF_USE_SCHED)
>>> +		rq->rq_flags |= RQF_REQUEUED;
>>>   }
>>
>> I'd drop this helper function if we go down this way.  But maybe
>> we might just want to keep the method.
>
> My understanding is that every .requeue_request() call is followed by a 
> .insert_requests() call and hence that we don't need the .requeue_request() 
> method anymore if the RQF_REQUEUED flag would be introduced?

Yes, but at the same time RQF_REQUEUED no creates global state instead
of just in a callchain.  That's why originally suggest a flag to
->insert_requests instead of leaving state on every request.

>
> Thanks,
>
> Bart.
---end quoted text---

  reply	other threads:[~2023-05-25  8:26 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-22 18:38 [PATCH v3 0/7] Submit zoned writes in order Bart Van Assche
2023-05-22 18:38 ` [PATCH v3 1/7] block: Rename a local variable in blk_mq_requeue_work() Bart Van Assche
2023-05-23  7:12   ` Christoph Hellwig
2023-05-23  9:48   ` Johannes Thumshirn
2023-05-22 18:38 ` [PATCH v3 2/7] block: Send requeued requests to the I/O scheduler Bart Van Assche
2023-05-23  7:18   ` Christoph Hellwig
2023-05-23 22:30     ` Bart Van Assche
2023-05-24  6:13       ` Christoph Hellwig
2023-05-24 18:22         ` Bart Van Assche
2023-05-25  8:25           ` Christoph Hellwig [this message]
2023-05-23  9:03   ` Ming Lei
2023-05-23 17:19     ` Bart Van Assche
2023-05-24  0:31       ` Ming Lei
2023-05-24 17:56         ` Bart Van Assche
2023-05-24 23:06           ` Damien Le Moal
2023-05-25  0:53             ` Ming Lei
2023-06-21  0:34             ` Bart Van Assche
2023-06-22 23:45               ` Damien Le Moal
2023-06-23 20:31                 ` Bart Van Assche
2023-05-22 18:38 ` [PATCH v3 3/7] block: Requeue requests if a CPU is unplugged Bart Van Assche
2023-05-23  7:19   ` Christoph Hellwig
2023-05-23  8:17   ` Ming Lei
2023-05-23 20:15     ` Bart Van Assche
2023-05-24  0:35       ` Ming Lei
2023-05-24 18:18         ` Bart Van Assche
2023-05-22 18:38 ` [PATCH v3 4/7] block: Make it easier to debug zoned write reordering Bart Van Assche
2023-05-23  7:19   ` Christoph Hellwig
2023-05-23 19:34     ` Bart Van Assche
2023-05-24  6:13       ` Christoph Hellwig
2023-05-24 18:25         ` Bart Van Assche
2023-05-22 18:38 ` [PATCH v3 5/7] block: Preserve the order of requeued requests Bart Van Assche
2023-05-22 18:38 ` [dm-devel] [PATCH v3 6/7] dm: Inline __dm_mq_kick_requeue_list() Bart Van Assche
2023-05-22 18:38   ` Bart Van Assche
2023-05-23  7:22   ` [dm-devel] " Christoph Hellwig
2023-05-23  7:22     ` Christoph Hellwig
2023-05-22 18:38 ` [dm-devel] [PATCH v3 7/7] block: Inline blk_mq_{, delay_}kick_requeue_list() Bart Van Assche
2023-05-22 18:38   ` [PATCH v3 7/7] block: Inline blk_mq_{,delay_}kick_requeue_list() Bart Van Assche
2023-05-24  8:01   ` [dm-devel] [PATCH v3 7/7] block: Inline blk_mq_{, delay_}kick_requeue_list() Vineeth Vijayan
2023-05-24  8:01     ` [PATCH v3 7/7] block: Inline blk_mq_{,delay_}kick_requeue_list() Vineeth Vijayan
2023-05-23  7:22 ` [PATCH v3 0/7] Submit zoned writes in order Christoph Hellwig
2023-05-23 20:04   ` Bart Van Assche
2023-05-24  6:15     ` Christoph Hellwig

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=20230525082547.GA23344@lst.de \
    --to=hch@lst.de \
    --cc=axboe@kernel.dk \
    --cc=bvanassche@acm.org \
    --cc=dlemoal@kernel.org \
    --cc=jaegeuk@kernel.org \
    --cc=jianchao.w.wang@oracle.com \
    --cc=linux-block@vger.kernel.org \
    --cc=ming.lei@redhat.com \
    --cc=snitzer@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.