All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Damien Le Moal <damien.lemoal@wdc.com>
Cc: linux-block@vger.kernel.org, Jens Axboe <axboe@kernel.dk>,
	Adam Manzanares <adam.manzanares@wdc.com>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 7/7] block: Initialize BIO I/O priority early
Date: Mon, 19 Nov 2018 00:19:59 -0800	[thread overview]
Message-ID: <20181119081959.GR9622@infradead.org> (raw)
In-Reply-To: <20181119035131.11255-8-damien.lemoal@wdc.com>

On Mon, Nov 19, 2018 at 12:51:31PM +0900, Damien Le Moal wrote:
> For the synchronous I/O path case (read(), write() etc system calls), a
> BIO I/O priority is not initialized until the execution of
> blk_init_request_from_bio() when the BIO is submitted and a request
> initialized for the BIO execution. This is due to the ki_ioprio field of
> the struct kiocb defined on stack being always initialized to
> IOPRIO_CLASS_NONE, regardless of the calling process I/O context ioprio
> value set with ioprio_set(). This late initialization can result in the
> BIO being merged to pending requests even when the I/O priorities
> differ.
> 
> Fix this by initializing the ki_iopriority field of on stack struct
> kiocb using the get_current_ioprio() helper, ensuring that all BIOs
> allocated and submitted for the system call execution see the correct
> intended I/O priority early. With this, since a BIO I/O priority is
> always set to the intended effective value for both the sync and async
> path, blk_init_request_from_bio() can be simplified.
> 
> Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>

Looks good,

Reviewed-by: Christoph Hellwig <hch@lst.de>

  reply	other threads:[~2018-11-19  8:20 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-19  3:51 [PATCH 0/7] Improve I/O priority handling Damien Le Moal
2018-11-19  3:51 ` [PATCH 1/7] aio: Comment use of IOCB_FLAG_IOPRIO aio flag Damien Le Moal
2018-11-19  8:12   ` Christoph Hellwig
2018-11-19  8:15   ` Johannes Thumshirn
2018-11-19  3:51 ` [PATCH 2/7] block: Remove bio->bi_ioc Damien Le Moal
2018-11-19  8:13   ` Christoph Hellwig
2018-11-19  8:16   ` Johannes Thumshirn
2018-11-19 19:07   ` Adam Manzanares
2018-11-20 17:21   ` Ming Lei
2018-11-20 17:31     ` Jens Axboe
2018-11-20 23:58       ` Damien Le Moal
2018-11-21  1:24         ` Ming Lei
2018-11-21  1:31           ` Damien Le Moal
2018-11-21  2:10         ` Jens Axboe
2018-11-21  2:14           ` Damien Le Moal
2018-11-21  2:45           ` Damien Le Moal
2018-11-21  2:48             ` Jens Axboe
2018-11-21  2:50               ` Damien Le Moal
2018-11-21  1:21       ` Ming Lei
2018-11-19  3:51 ` [PATCH 3/7] block: Fix get_task_ioprio() default return value Damien Le Moal
2018-11-19  8:16   ` Christoph Hellwig
2018-11-20  1:47     ` Damien Le Moal
2018-11-19  3:51 ` [PATCH 4/7] block: Introduce get_current_ioprio() Damien Le Moal
2018-11-19  8:17   ` Christoph Hellwig
2018-11-19  8:26   ` Johannes Thumshirn
2018-11-19 18:17   ` Adam Manzanares
2018-11-19 23:46     ` Damien Le Moal
2018-11-19  3:51 ` [PATCH 5/7] aio: Fix fallback I/O priority value Damien Le Moal
2018-11-19  8:18   ` Christoph Hellwig
2018-11-19  8:27   ` Johannes Thumshirn
2018-11-19 19:08   ` Adam Manzanares
2018-11-19  3:51 ` [PATCH 6/7] block: prevent merging of requests with different priorities Damien Le Moal
2018-11-19  8:19   ` Christoph Hellwig
2018-11-19  8:31   ` Johannes Thumshirn
2018-11-19  3:51 ` [PATCH 7/7] block: Initialize BIO I/O priority early Damien Le Moal
2018-11-19  8:19   ` Christoph Hellwig [this message]
2018-11-19 19:11   ` Adam Manzanares

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=20181119081959.GR9622@infradead.org \
    --to=hch@infradead.org \
    --cc=adam.manzanares@wdc.com \
    --cc=axboe@kernel.dk \
    --cc=damien.lemoal@wdc.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    /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.