Messages in this thread | | | Date | Thu, 15 Feb 2024 16:35:45 +0000 | From | Will Deacon <> | Subject | Re: [PATCH v1 0/2] nvme-pci: Fix dma-iommu mapping failures when PAGE_SIZE=64KB |
| |
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
| |