Re: [PATCH v4 1/2] iommu/s390: Fix race with release_device ops

From: Robin Murphy
Date: Thu Sep 01 2022 - 11:04:58 EST


On 2022-09-01 15:34, Jason Gunthorpe wrote:
On Thu, Sep 01, 2022 at 03:29:16PM +0100, Robin Murphy wrote:

Right, the next step would be to bridge that gap to iommu-dma to dump the
flush queue when IOVA allocation failure implies we've reached the
"rollover" point, and perhaps not use the timer at all. By that point a
dedicated domain type, or at least some definite internal flag, for this
alternate behaviour seems like the logical way to go.

At least on this direction, I've been thinking it would be nice to
replace the domain type _FQ with a flag inside the domain, maybe the
ops, saying how the domain wants the common DMA API to operate. If it
wants FQ mode or other tuning parameters

Compare the not-necessarily-obvious matrix of "strict" and "passthrough" command-line parameters with the nice understandable kconfig and sysfs controls for a reminder of why I moved things *from* that paradigm in the first place ;)

This idea still fits perfectly into the the "continuum of strictness" notion underlying that domain type rework, since it potentially leaves a lot more address space mapped for a much longer time than our current FQ implementation. I would agree that exposing FQ tuneables in their own right may well have some potential value, much like John's equivalent idea for the IOVA cache layer, but I for one have no desire to bring back DOMAIN_ATTR_DMA_USE_FLUSH_QUEUE, much less any further mess of disjoint properties at that level.

Thanks,
Robin.