public inbox for linux-block@vger.kernel.org
 help / color / mirror / Atom feed
From: Damien Le Moal <dlemoal@kernel.org>
To: Keith Busch <kbusch@kernel.org>
Cc: Bart Van Assche <bvanassche@acm.org>,
	Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>,
	linux-block@vger.kernel.org, Yu Kuai <yukuai1@huaweicloud.com>,
	Ming Lei <ming.lei@redhat.com>,
	Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>,
	Eric Biggers <ebiggers@google.com>
Subject: Re: [PATCH 1/2] block: Make __submit_bio_noacct() preserve the bio submission order
Date: Wed, 11 Jun 2025 10:02:34 +0900	[thread overview]
Message-ID: <4c658f15-7a8d-4add-8638-d8cdfe31f670@kernel.org> (raw)
In-Reply-To: <aEjVPK9Xdo8P5Um0@kbusch-mbp>

On 6/11/25 10:00 AM, Keith Busch wrote:
> On Wed, Jun 11, 2025 at 09:46:31AM +0900, Damien Le Moal wrote:
>> On 6/11/25 8:18 AM, Keith Busch wrote:
>>>
>>> I think you could just prep the encryption at the point the bio is split
>>> to its queue's limits, and then all you need to do after that is ensure
>>> the limits don't exceed what the fallback requires (which appears to
>>> just be a simple segment limitation). It looks like most of the bio
>>> based drivers split to limits already.
>>
>> Nope, at least not DM, and by that, I mean not in the sense of splitting BIOs
>> using bio_split_to_limits(). The only BIOs being split are "abnormal" ones,
>> such as discard.
>>
>> That said, DM does split the BIOs through cloning and also has the "accept
>> partial" thing, which is used in many places and allows DM target drivers to
>> split BIOs as they are received, but not necessarilly based on the device queue
>> limits (e.g. dm-crypt splits reads and writes using an internal
>> max_read|write_size limit).
>>
>> So inline crypto on top of a DM/bio-based device may need some explicit
>> splitting added in dm.c (__max_io_len() maybe ?).
> 
> Ah, thanks for pointing that out! In that case, could we have dm
> consider the bio "abnormal" when bio_has_crypt_ctx(bio) is true? That
> way it does the split-to-limits for these, and dm appears to do that
> action very early before its own split/clone actions on the resulting
> bio.

That sounds reasonable to me.


-- 
Damien Le Moal
Western Digital Research

  reply	other threads:[~2025-06-11  1:04 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-14 20:29 [PATCH 0/2] Two bug fixes for zoned block devices Bart Van Assche
2025-05-14 20:29 ` [PATCH 1/2] block: Make __submit_bio_noacct() preserve the bio submission order Bart Van Assche
2025-05-15  7:19   ` Niklas Cassel
2025-05-15 15:58     ` Bart Van Assche
2025-05-16  4:47   ` Christoph Hellwig
2025-05-19 22:12     ` Bart Van Assche
2025-05-20 13:56       ` Christoph Hellwig
2025-05-20 18:09         ` Bart Van Assche
2025-05-21  5:53           ` Christoph Hellwig
2025-05-21 21:18             ` Bart Van Assche
2025-05-22  5:12               ` Damien Le Moal
2025-05-22 17:08                 ` Bart Van Assche
2025-05-23  6:02                   ` Damien Le Moal
2025-05-23 16:30                     ` Bart Van Assche
2025-05-24  8:48                       ` Damien Le Moal
2025-05-24 14:05                         ` Bart Van Assche
2025-05-24 15:36                           ` Damien Le Moal
2025-05-26  5:24                       ` Christoph Hellwig
2025-05-27 16:19                         ` Bart Van Assche
2025-05-31  0:25                           ` Bart Van Assche
2025-06-08 22:07                         ` Bart Van Assche
2025-06-08 22:47                           ` Damien Le Moal
2025-06-09  3:58                             ` Christoph Hellwig
2025-06-09 20:48                             ` Bart Van Assche
2025-06-10  5:04                               ` Christoph Hellwig
2025-06-09  3:55                           ` Christoph Hellwig
2025-06-10 17:23                             ` Bart Van Assche
2025-06-10 23:18                               ` Keith Busch
2025-06-11  0:46                                 ` Damien Le Moal
2025-06-11  1:00                                   ` Keith Busch
2025-06-11  1:02                                     ` Damien Le Moal [this message]
2025-06-11  1:08                                       ` Keith Busch
2025-06-11  1:34                                 ` Keith Busch
2025-06-11  3:40                                 ` Christoph Hellwig
2025-06-11  4:21                                   ` Eric Biggers
2025-06-11 16:15                                     ` Bart Van Assche
2025-06-11 18:15                                       ` Eric Biggers
2025-06-11 19:43                                         ` Bart Van Assche
2025-06-18 22:27                                           ` Bart Van Assche
2025-05-23  4:21               ` Christoph Hellwig
2025-05-14 20:29 ` [PATCH 2/2] block: Fix a deadlock related freezing zoned storage devices Bart Van Assche
2025-05-16  4:51   ` Christoph Hellwig
2025-05-19 22:22     ` Bart Van Assche
2025-05-20 13:57       ` 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=4c658f15-7a8d-4add-8638-d8cdfe31f670@kernel.org \
    --to=dlemoal@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=bvanassche@acm.org \
    --cc=ebiggers@google.com \
    --cc=hch@lst.de \
    --cc=kbusch@kernel.org \
    --cc=linux-block@vger.kernel.org \
    --cc=ming.lei@redhat.com \
    --cc=shinichiro.kawasaki@wdc.com \
    --cc=yukuai1@huaweicloud.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox