All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Damien Le Moal <dlemoal@kernel.org>,
	Christoph Hellwig <hch@lst.de>,
	Bart Van Assche <bvanassche@acm.org>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>
Subject: Re: Zoned storage and BLK_STS_RESOURCE
Date: Tue, 17 Dec 2024 11:46:07 -0700	[thread overview]
Message-ID: <bf847491-e18a-4685-8fa2-66e31c41f8e8@kernel.dk> (raw)
In-Reply-To: <b8af6e10-6a00-4553-9a8c-32d5d0301082@kernel.org>

> Of note about io_uring: if writes are submitted from multiple jobs to
> multiple queues, then you will see unaligned write errors, but the
> same test with libaio will work just fine. The reason is that io_uring
> fio engine IO submission only adds write requests to the io rings,
> which will then be submitted by the kernel ring handling later. But at
> that time, the ordering information is lost and if the rings are
> processed in the wrong order, you'll get unaligned errors.

Sorry, but this is woefully incorrect.

Submissions are always in order, I suspect the main difference here is
that some submissions would block, and that will certainly cause the
effective issue point to be reordered, as the initial issue will get
-EAGAIN. This isn't a problem on libaio as it simply blocks on
submission instead. Because the actual issue is the same, and the kernel
will absolutely see the submissions in order when io_uring_enter() is
called, just like it would when io_submit() is called.

If you stay within the queue limits of the device, then there should be
no reordering. Unless the kernel side prevents non-blocking issues for
some reason.

It's either that, or something being broken with REQ_NOWAIT handling for
zoned writes.

-- 
Jens Axboe

  parent reply	other threads:[~2024-12-17 18:46 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-16 19:24 Zoned storage and BLK_STS_RESOURCE Bart Van Assche
2024-12-16 20:23 ` Damien Le Moal
2024-12-16 20:42   ` Bart Van Assche
2024-12-16 20:54     ` Damien Le Moal
2024-12-16 21:22       ` Bart Van Assche
2024-12-16 22:49         ` Damien Le Moal
2024-12-17 14:56         ` Damien Le Moal
2024-12-19  5:55           ` Christoph Hellwig
2024-12-19 17:07             ` Bart Van Assche
2024-12-17  4:15 ` Christoph Hellwig
2024-12-17 15:04   ` Damien Le Moal
2024-12-17 18:38     ` Bart Van Assche
2024-12-17 18:46     ` Jens Axboe [this message]
2024-12-17 18:51       ` Damien Le Moal
2024-12-17 19:07         ` Jens Axboe
2024-12-17 19:20           ` Damien Le Moal
2024-12-17 19:25             ` Bart Van Assche
2024-12-17 19:28               ` Damien Le Moal
2024-12-17 19:33                 ` Jens Axboe
2024-12-17 19:37                   ` Damien Le Moal
2024-12-17 19:41                     ` Jens Axboe
2024-12-17 19:48                       ` Damien Le Moal
2024-12-17 19:54                         ` Jens Axboe
2024-12-17 19:58                           ` Jens Axboe
2024-12-17 20:59                             ` Damien Le Moal
2024-12-17 21:25                               ` Jens Axboe
2024-12-18  6:58                               ` Christoph Hellwig
2024-12-19 18:04                                 ` Bart Van Assche
2024-12-21  8:10                                   ` Christoph Hellwig
2025-01-06 18:54                                     ` Bart Van Assche
2024-12-19  6:00                       ` Christoph Hellwig
2024-12-19 14:50                         ` Jens Axboe
2024-12-19 17:12                         ` Bart Van Assche
2024-12-19 23:10                           ` Damien Le Moal
2025-01-06 20:14                             ` Bart Van Assche
2024-12-21  8:13                           ` Christoph Hellwig
2024-12-17 19:32             ` 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=bf847491-e18a-4685-8fa2-66e31c41f8e8@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=bvanassche@acm.org \
    --cc=dlemoal@kernel.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.