All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Paolo Valente <paolo.valente@linaro.org>
Cc: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>,
	Omar Sandoval <osandov@fb.com>,
	linux-block@vger.kernel.org
Subject: Re: [PATCH 09/10] blk-mq-sched: unify request prepare methods
Date: Tue, 20 Jun 2017 11:10:06 +0200	[thread overview]
Message-ID: <20170620091006.GA10204@lst.de> (raw)
In-Reply-To: <462C0809-EDD7-4FBB-A6F9-B8C8155A4335@linaro.org>

On Mon, Jun 19, 2017 at 03:32:09PM +0200, Paolo Valente wrote:
> > static void bfq_finish_request(struct request *rq)
> > {
> > -	struct bfq_queue *bfqq = RQ_BFQQ(rq);
> > -	struct bfq_data *bfqd = bfqq->bfqd;
> > +	struct bfq_queue *bfqq;
> > +	struct bfq_data *bfqd;
> > +
> > +	if (!rq->elv.icq)
> > +		return;
> > +
> 
> If this is a rq dispatched from a bfqq (or even a request still in the
> scheduler), then just exiting here will break bfq state seriously.
> However, I guess that this case can never occur.

It is a request for which we didn't manage to allocate the ioc.

Previously those wouldn't have REQ_ELVPRIV set and thus we wouldn't
call into the finish method.  Now they do and the finish method needs
to handle those just like the init method.

  reply	other threads:[~2017-06-20  9:10 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-16 16:15 streamline blk-mq I/O scheduler interaction Christoph Hellwig
2017-06-16 16:15 ` [PATCH 01/10] blk-mq: mark blk_mq_rq_ctx_init static Christoph Hellwig
2017-06-16 16:15 ` [PATCH 02/10] blk-mq: move blk_mq_sched_{get,put}_request to blk-mq.c Christoph Hellwig
2017-06-16 16:15 ` [PATCH 03/10] blk-mq: remove blk_mq_sched_{get,put}_rq_priv Christoph Hellwig
2017-06-16 16:15 ` [PATCH 04/10] blk-mq-sched: unify request finished methods Christoph Hellwig
2017-06-19 13:01   ` Paolo Valente
2017-06-16 16:15 ` [PATCH 05/10] blk-mq: simplify blk_mq_free_request Christoph Hellwig
2017-06-17 21:50   ` Jens Axboe
2017-06-18  7:24     ` Christoph Hellwig
2017-06-18 15:05       ` Jens Axboe
2017-06-16 16:15 ` [PATCH 06/10] blk-mq: streamline blk_mq_get_request Christoph Hellwig
2017-06-16 16:15 ` [PATCH 07/10] bfq-iosched: fix NULL ioc check in bfq_get_rq_private Christoph Hellwig
2017-06-19 13:14   ` Paolo Valente
2017-06-16 16:15 ` [PATCH 08/10] blk-mq: refactor blk_mq_sched_assign_ioc Christoph Hellwig
2017-06-16 16:15 ` [PATCH 09/10] blk-mq-sched: unify request prepare methods Christoph Hellwig
2017-06-19 13:32   ` Paolo Valente
2017-06-20  9:10     ` Christoph Hellwig [this message]
2017-06-16 16:15 ` [PATCH 10/10] blk-mq: remove __blk_mq_alloc_request Christoph Hellwig
2017-06-16 20:30 ` streamline blk-mq I/O scheduler interaction Jens Axboe
2017-06-18 18:35 ` Jens Axboe

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=20170620091006.GA10204@lst.de \
    --to=hch@lst.de \
    --cc=axboe@kernel.dk \
    --cc=linux-block@vger.kernel.org \
    --cc=osandov@fb.com \
    --cc=paolo.valente@linaro.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.