[PATCH] nvme: only use power of two io boundaries

Christoph Hellwig hch at lst.de
Thu Aug 27 03:46:12 EDT 2020


On Tue, Aug 25, 2020 at 09:35:16AM -0700, Keith Busch wrote:
> The kernel requires a power of two for boundaries because that's the
> only way it can efficiently split commands that cross them. A
> controller, however, may report a non-power of two boundary.
> 
> The driver had been rounding the controller's value to one the kernel
> can use, but splitting on the wrong boundary provides no benefit on the
> device side, and actually incurs additional submission overhead from
> non-optimal splits. Don't provide any boundary hint if the controller's
> value can't be used.

Shouldn't we log a warning about non-power of two sizes?



More information about the Linux-nvme mailing list