Re: [PATCH v2 5/5] swiotlb: Implement RX nocopy with fast recycling eviction
Dragos Tatulea <[email protected]>
| Newsgroups | org.kvack.linux-mm,dev.linux.lists.driver-core,dev.linux.lists.iommu,org.kernel.vger.linux-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
On 24.08.26 17:29, Luigi Rizzo wrote: > Conditionally divert receive buffer allocations in page_pool > to the SWIOTLB page allocator. > > This only happens when swiotlb usage is below the threshold set by module > parameter swiotlb.nocopy_rx_percent (default 0, range 0..90). > A value of 0 disables the feature. > > To prevent existing DRAM or SWIOTLB pages from circulating indefinitely > in the lockless receive ring after changing the parameter at runtime, > __page_pool_put_page() checks residency against the active parameter > state. Mismatched pages are immediately evicted back to their > respective allocators, achieving rapid, lockless mode conversion across > active network streams without requiring interface or queue resets. > This could be a separate page_pool allocator. It could be similar to how ZC works: pre-allocate some coherent DMA buffers and allocate from there. Thanks, Dragps