Re: [PATCH v5 0/5] DMA mapping changes for SCSI core

From: John Garry
Date: Thu Jul 14 2022 - 05:12:09 EST


On 14/07/2022 04:10, Martin K. Petersen wrote:

Hi Martin,

So I set max hw sectors at this ‘opt’ mapping size to ensure that we
get no mappings which exceed this size. Indeed, I think max sectors is
128Kb today for my host, which would be same as dma_opt_mapping_size()
value with an IOMMU enabled. And I find that only a small % of request
size may exceed this 128kb size, but it still has a big performance
impact.
The purpose of the soft limit is to pick the appropriate I/O size
(i.e. for best performance). The purpose of the hard limit is to ensure
we don't submit something the hardware can't handle or describe.

IOW, the hard limit is not about performance at all. The hard limit is
mainly relevant for things that are way bigger than anything we'd issue
as regular filesystem I/O such as multi-megabyte firmware images, etc.

It's perfectly fine for firmware download performance to be
"suboptimal". What is typically more important in that scenario is that
the firmware image makes it inside a single I/O.

OK, fine. I've improved the next version such that the DMA mapping opt limit only affects the max_sectors default.

Thanks,
John