On 3/2/25 05:37, Zongmin Zhou wrote:
Dear shuah, Yes, I agree with you.It would be better if there have a more simpler fixes than This patch. I can just think of the two possible solutions that mentioned before.
What are the two possible solutions?
If SWIOTLB disabled,dma_max_mapping_size() return SIZE_MAX.
Right when CONFIG_HAS_DMA, if not it returns 0. Perhaps we can ignore CONFIG_HAS_DMA=n for this for this discussion.
Only if SWIOTLB is active and dma addressing limited will return the swiotlb max mapping size. The swiotlb config seems rely on many other config options like x86_64/IOMMU_SUPPORT and so on, and the configuration on host and client side only use the default at all,Like the default ubuntu release version. It seems that switlb is enabled by default on most platforms.
If understand correctly the problem happens only when SWIOTLB is enabled on client or host? The following combinations are possible: SWILTLB enabled on client and disabled on host - rate limited? SWILTLB enabled on client and enabled on host - rate limited? SWILTLB disabled on client and enabled on host - rate limited? SWILTLB disabled on client and disabled on host - not a problem thanks, -- Shuah