On Wed, Jan 22, 2025 at 11:54:52AM -0800, Nicolin Chen wrote: > ARM seems to also have an interesting event merging feature: > STE.MEV, bit [83] > Merge Events arising from terminated transactions from this stream. > 0b0 Do not merge similar fault records > 0b1 Permit similar fault records to be merged > The SMMU might be able to reduce the usage of the Event queue by > coalescing fault records that share the same page granule of address, > access type and SubstreamID. > Setting MEV == 1 does not guarantee that faults will be coalesced. > Setting MEV == 0 causes a physical SMMU to prevent coalescing of > fault records, however, a hypervisor might not honour this setting > if it deems a guest to be too verbose. > Note: Software must expect, and be able to deal with, coalesced fault > records even when MEV == 0. > > Yet, the driver doesn't seem to care setting it at this moment. Yeah, we will eventually need to implement whatever DOS mitigations are included in the IOMMU architectures.. I think DOS testing the event architecture should be part of the testing/qualification. It should be quite easy to make a DOS spammer using VFIO in userspace in the VM to test it with the mlx5 vfio driver.. (though you need VFIO to work in a VM which RMR will prevent, but that can be hacked around I guess) Jason