Hi Jan,
On 20/10/2020 14:52, Jan Beulich wrote:
While the flush coalescing optimization has been helping the non-shared
case, it has actually lead to double flushes in the shared case (which
ought to be the more common one nowadays at least): Once from
*_set_entry() and a second time up the call tree from wherever the
overriding flag gets played with. In alignment with XSA-346 suppress
flushing in this case.
Similarly avoid excessive setting of IOMMU_FLUSHF_added on the batched
flushes: "idx" hasn't been added a new mapping for.
Signed-off-by: Jan Beulich <jbeul...@suse.com>
---
TBD: The Arm part really is just for completeness (and hence could also
be dropped) - the affected mapping spaces aren't currently
supported there.
As I may I have pointed out in the past, there are many ways to screw
things up when using iommu_dont_flush_iotlb.
So I would rather not introduce any usage on Arm until we see a use-case.
Cheers,
--
Julien Grall