RE: [PATCH v6 0/6] Fix double allocation in swiotlb_alloc()

From: Michael Kelley
Date: Fri Mar 08 2024 - 14:21:35 EST


From: Will Deacon <will@xxxxxxxxxx> Sent: Friday, March 8, 2024 7:28 AM
>

[snip]

>
> Changes since v5 include:
>
> - Rework the final patch to preserve page-alignment for streaming
> requests without a DMA alignment mask
>
> - Added Reviewed-by tags from Michael
>
> Cheers,
>
> Will
>

I've tested the full v6 of this series on an ARM64 VM in the Azure
public cloud with 64K page size, and swiotlb=force on the kernel
boot line. The path exercised is the DMA Direct path on a synthetic
SCSI disk device with min_align_mask = 0xFFF. I have a standalone
user-space test program using writev() to generate direct disk
I/Os with a variety of memory buffer alignments and physically
contiguous extents. It's designed to test the paths through the
iovec level, scatter/gather lists, and the driver DMA descriptors
to make sure all is working correctly.

Prior to this patch series, some tests were failing with 64K page
size when swiotlb=force, but they are all working now.

Tested-by: Michael Kelley <mhklinux@xxxxxxxxxxx>