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

Robin Murphy
2022-09-01T15:04:56Z

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.