Re: [PATCHv3 1/2] block: accumulate segment page gaps per bio
From: Keith Busch <kbusch@kernel.org>
Date: 2025-08-26 13:47:48
Also in:
linux-iommu, linux-nvme
From: Keith Busch <kbusch@kernel.org>
Date: 2025-08-26 13:47:48
Also in:
linux-iommu, linux-nvme
On Tue, Aug 26, 2025 at 03:03:44PM +0200, Christoph Hellwig wrote:
On Mon, Aug 25, 2025 at 08:10:59AM -0600, Keith Busch wrote:quoted
PAGE_SIZEs, iommu granules, and virt boundaries are all power-of-two values, and PAGE_SIZE is always the largest (or tied for largest) of these.I just had an offlist conversation with someone trying to make a nvme device with a virt boundary larger than PAGE_SIZE work. No idea where that device came from.
Currently, the virtual boundary is always compared to bv_offset, which is a page offset. If the virtual boundary is larger than a page, then we need something like "page_to_phys(bv.bv_page) + bv.bv_offset" every place we need to check against the virt boundary.