Re: [PATCH v2 RESEND 4/7] swiotlb: Dynamically allocated bounce buffers
From: Petr Tesařík
Date: Tue May 23 2023 - 07:53:34 EST
On Tue, 23 May 2023 10:54:11 +0100
Catalin Marinas <catalin.marinas@xxxxxxx> wrote:
> On Wed, May 17, 2023 at 01:27:48PM +0200, Petr Tesařík wrote:
> > On Wed, 17 May 2023 08:35:10 +0200
> > Petr Tesařík <petr@xxxxxxxxxxx> wrote:
> > > Anyway, my greatest objection to allocating additional swiotlb chunks is
> > > that _all_ of them must be searched to determine that the physical
> > > address does _not_ belong to a swiotlb, incurring performance penalty
> >
> > I thought about this part again, and I overlooked one option. We can
> > track only the _active_ swiotlbs for each device. If a device never
> > needs a swiotlb, there is no active swiotlb, and is_swiotlb_buffer()
> > short-circuits to false. This should avoid all collateral damage to
> > innocent devices.
>
> Does this work with dma-buf or does dma-buf not allow swiotlb bouncing?
Currently, it does work with dma-buf. OTOH Christoph is apparently not
very happy about it and would rather implement alternative mechanisms to
let dma-buf allocate buffers so that they do not require swiotlb. See
his reply here:
https://lkml.org/lkml/2023/4/7/38
OTOH if you're asking because of swiotlb use by encrypted VM guests,
the answer might be different.
Cheers
Petr T