Thread (25 messages) 25 messages, 11 authors, 2025-03-21

Re: [LSF/MM/BPF TOPIC] breaking the 512 KiB IO boundary on x86_64

From: Luis Chamberlain <mcgrof@kernel.org>
Date: 2025-03-20 21:40:54
Also in: linux-fsdevel, linux-mm

On Thu, Mar 20, 2025 at 03:18:46PM +0100, Christoph Hellwig wrote:
On Thu, Mar 20, 2025 at 04:41:11AM -0700, Luis Chamberlain wrote:
quoted
We've been constrained to a max single 512 KiB IO for a while now on x86_64.
No, we absolutely haven't.  I'm regularly seeing multi-MB I/O on both
SCSI and NVMe setup.
Sorry you're right, I should have been clearer. This is only an issue without
large folios for buffered IO, or without scatter list chaining support.

Or put another way, block driver which don't support scatter list
chaining will end up with a different max IO possible for direct IO and
io-uring cmd.
quoted
This is due to the number of DMA segments and the segment size.
In nvme the max_segment_size is UINT_MAX, and for most SCSI HBAs it is
fairly large as well.
For Direct IO or io-uring cmd when large folios may not be used the
segments will be constrained to the page size.

  Luis
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help