[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250305172906.GG5011@ziepe.ca>
Date: Wed, 5 Mar 2025 13:29:06 -0400
From: Jason Gunthorpe <jgg@...pe.ca>
To: Yunsheng Lin <linyunsheng@...wei.com>
Cc: davem@...emloft.net, kuba@...nel.org, pabeni@...hat.com,
zhangkun09@...wei.com, liuyonglong@...wei.com,
fanghaiqing@...wei.com, Robin Murphy <robin.murphy@....com>,
Alexander Duyck <alexander.duyck@...il.com>,
IOMMU <iommu@...ts.linux.dev>,
Jesper Dangaard Brouer <hawk@...nel.org>,
Ilias Apalodimas <ilias.apalodimas@...aro.org>,
Eric Dumazet <edumazet@...gle.com>, Simon Horman <horms@...nel.org>,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next v10 4/4] page_pool: skip dma sync operation for
inflight pages
On Wed, Feb 26, 2025 at 07:03:39PM +0800, Yunsheng Lin wrote:
> Skip dma sync operation for inflight pages before the
> sync operation in page_pool_item_unmap() as DMA API
> expects to be called with a valid device bound to a
> driver as mentioned in [1].
>
> After page_pool_destroy() is called, the page is not
> expected to be recycled back to pool->alloc cache and
> dma sync operation is not needed when the page is not
> recyclable or pool->ring is full, so only skip the dma
> sync operation for the infilght pages by clearing the
> pool->dma_sync, as rcu sync operation in
> page_pool_destroy() is paired with rcu lock in
> page_pool_recycle_in_ring() to ensure that there is no
> dma sync operation called after rcu sync operation.
Are you guaranteeing that the cache is made consistent before freeing
the page back to the mm? That is required..
Jason
Powered by blists - more mailing lists