Re: [PATCH] block: make queue limits workable in case of 64K PAGE_SIZE

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

 



On Fri, Jan 03, 2025 at 08:04:32PM -0800, Luis Chamberlain wrote:
> On Fri, Jan 03, 2025 at 06:15:55PM -0800, Bart Van Assche wrote:
> > On 1/3/25 5:47 PM, Luis Chamberlain wrote:
> > > While that addresses a smaller segment then page size this still leaves
> > > open the question of if a dma segment can be larger than page size,
> > Hmm ... aren't max_segment_size values that are larger than the page
> > size supported since day one of the Linux kernel? Or are you perhaps
> > referring to Ming's multi-page bvec patch series that was merged about
> > six years ago?
> 
> Try aiming high for a single 2 MiB for a single IO on x86_64 on NVMe, that is
> currently not possible. At the max 128 NVMe number of DMA segments, and we have
> 4 KiB per DMA segment, for a 512 KiB IO limit. Should multi-page bvec
> enable to lift this?

You need huge pages to guarantee you can reach those transfer sizes in a
single command. Otherwise you need to get lucky with larger contiguous
folios, which can certainly happen but it's just not as desterministic.

There are many nvme devices that absoulutely require 4KiB as the largest
segment, but the driver says it can handle much larger segments anyway.
It's trivial for the driver to split a large bio vec into a bunch of
smaller device specific descriptors.




[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