Re: [PATCH v2 00/16] block atomic writes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 17/01/2024 15:02, Christoph Hellwig wrote:
On Tue, Jan 16, 2024 at 11:35:47AM +0000, John Garry wrote:
As such, we then need to set atomic write unit max = min(queue max
segments, BIO_MAX_VECS) * LBS. That would mean atomic write unit max 256 *
512 = 128K (for 512B LBS). For a DMA controller of max segments 64, for
example, then we would have 32K. These seem too low.

I don't see how this would work if support multiple sectors.


Alternative I'm thinking that we should just limit to 1x iovec always, and
then atomic write unit max = (min(queue max segments, BIO_MAX_VECS) - 1) *
PAGE_SIZE [ignoring first/last iovec contents]. It also makes support for
non-enterprise NVMe drives more straightforward. If someone wants, they can
introduce support for multi-iovec later, but it would prob require some
more iovec length/alignment rules.

Supporting just a single iovec initially is fine with me, as extending
that is pretty easy.  Just talk to your potential users that they can
live with it.

Yeah, any porting I know about has just been using aio with IO_CMD_PWRITE, so would be ok


I'd probably still advertise the limits even if it currently always is 1.


I suppose that we don't need any special rule until we support > 1, as we cannot break anyone already using > 1 :)

Thanks,
John




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux