Re: [PATCH v4 8/8] swiotlb: search the software IO TLB only if a device makes use of it

From: Christoph Hellwig
Date: Thu Jul 20 2023 - 04:23:05 EST


On Thu, Jul 20, 2023 at 10:02:38AM +0200, Petr Tesařík wrote:
> On Thu, 20 Jul 2023 08:47:44 +0200
> Christoph Hellwig <hch@xxxxxx> wrote:
>
> > Any reason this can't just do a list_empty_careful on the list
> > instead of adding yet another field that grows struct device?
>
> On which list?

dev->dma_io_tlb_mem->pools?

>
> The dma_io_tlb_pools list only contains transient pools, but a device
> may use bounce buffers from a regular pool.

Oh, true.

> The dma_io_tlb_mem.pools list will always be non-empty, unless the
> system runs without SWIOTLB.
>
> On a system which does have a SWIOTLB, the flag allows to differentiate
> between devices that actually use bounce buffers and devices that do
> not (e.g. because they do not have any addressing limitations).

Ok.