[PATCH v1 0/2] nvme-pci: Fix dma-iommu mapping failures when PAGE_SIZE=64KB
Will Deacon
will at kernel.org
Thu Feb 15 08:35:45 PST 2024
On Thu, Feb 15, 2024 at 02:22:09PM +0000, Will Deacon wrote:
> On Wed, Feb 14, 2024 at 11:57:32AM -0800, Nicolin Chen wrote:
> > On Wed, Feb 14, 2024 at 04:41:38PM +0000, Will Deacon wrote:
> > > On Tue, Feb 13, 2024 at 01:53:55PM -0800, Nicolin Chen wrote:
> > And it seems to get worse, as even a 64KB mapping is failing:
> > [ 0.239821] nvme 0000:00:01.0: swiotlb buffer is full (sz: 65536 bytes), total 32768 (slots), used 0 (slots)
> >
> > With a printk, I found the iotlb_align_mask isn't correct:
> > swiotlb_area_find_slots:alloc_align_mask 0xffff, iotlb_align_mask 0x800
> >
> > But fixing the iotlb_align_mask to 0x7ff still fails the 64KB
> > mapping..
>
> Hmm. A mask of 0x7ff doesn't make a lot of sense given that the slabs
> are 2KiB aligned. I'll try plugging in some of the constants you have
> here, as something definitely isn't right...
Sorry, another ask: please can you print 'orig_addr' in the case of the
failing allocation?
Thanks!
Will
More information about the Linux-nvme
mailing list