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? The dma_io_tlb_pools list only contains transient pools, but a device may use bounce buffers from a regular pool. 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). Petr T