SGL support of driver

Matthew Wilcox willy at linux.intel.com
Thu Jul 30 11:38:28 PDT 2015


On Wed, Jul 29, 2015 at 12:55:57AM -0700, Christoph Hellwig wrote:
> 64k page size, 4k file system block size, raid 0 with a stripe size of
> 8k and two legs.
> 
> The typical SGL feds to the hardware driver for streaming I/O will be:
> 
> page A, offset 0, len 8k
> page A, offset 16k, len 8k
> page A, offset 32k, len 8k
> page A, offset 48k, len 8k
> page B, offset 0, len 8k
> 
> This is clearly something PRP list will not handle well.  Note that I'm
> not nessecarily saying this is soemthing to optimize for, the more
> interesting case for NVMe really is the vectored direct I/O case.

I'm not really interested in optimising for badly configured RAID setups :-)

But point taken, RAID (and other things) can mess with I/Os between the
page cache and the driver.




More information about the Linux-nvme mailing list