All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yunsheng Lin <linyunsheng@huawei.com>
To: Mina Almasry <almasrymina@google.com>,
	Yunsheng Lin <yunshenglin0825@gmail.com>
Cc: Christoph Hellwig <hch@infradead.org>, <davem@davemloft.net>,
	<kuba@kernel.org>, <pabeni@redhat.com>, <zhangkun09@huawei.com>,
	<liuyonglong@huawei.com>, <fanghaiqing@huawei.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Alexander Duyck <alexander.duyck@gmail.com>,
	IOMMU <iommu@lists.linux.dev>,
	Andrew Morton <akpm@linux-foundation.org>,
	Eric Dumazet <edumazet@google.com>,
	Simon Horman <horms@kernel.org>,
	Jesper Dangaard Brouer <hawk@kernel.org>,
	Ilias Apalodimas <ilias.apalodimas@linaro.org>,
	<linux-mm@kvack.org>, <linux-kernel@vger.kernel.org>,
	<netdev@vger.kernel.org>
Subject: Re: [RFC v8 3/5] page_pool: fix IOMMU crash when driver has already unbound
Date: Fri, 7 Feb 2025 17:38:41 +0800	[thread overview]
Message-ID: <ebddfc6b-4d1d-425b-9d20-8b912df36000@huawei.com> (raw)
In-Reply-To: <CAHS8izO5_=w4x8rhnHujCWQn7nhEDzaNGgJSrcZEwOQ+dN_o3w@mail.gmail.com>

On 2025/2/7 0:54, Mina Almasry wrote:
> On Tue, Feb 4, 2025 at 6:23 AM Yunsheng Lin <yunshenglin0825@gmail.com> wrote:
>>
>> On 1/28/2025 2:12 PM, Christoph Hellwig wrote:
>>> On Mon, Jan 27, 2025 at 10:57:32AM +0800, Yunsheng Lin wrote:
>>>> Note, the devmem patchset seems to make the bug harder to fix,
>>>> and may make backporting harder too. As there is no actual user
>>>> for the devmem and the fixing for devmem is unclear for now,
>>>> this patch does not consider fixing the case for devmem yet.
>>>
>>> Is there another outstanding patchet?  Or do you mean the existing
>>> devmem code already merged?  If that isn't actually used it should
>>> be removed, but otherwise you need to fix it.
>>
>> The last time I checked, only the code for networking stack supporting
>> the devmem had been merged.
>>
>> The first driver suppporting seems to be bnxt, which seems to be under
>> review:
>> https://lore.kernel.org/all/20241022162359.2713094-1-ap420073@gmail.com/
>>
>> As my understanding, this should work for the devmem too if the devmem
> 
>>From a quick look at this patch, it looks like you're handling
> netmem/net_iovs in the implementation, so this implementation is
> indeed considering netmem. I think the paragraph in the commit message
> that Christoph is responding to should be deleted, because in recent
> iterations you're handling netmem.
> 
>> provide a ops to do the per-netmem dma unmapping
>> It would be good that devmem people can have a look at it and see if
>> this fix works for the specific page_pool mp provider.
>>
> 
> We set pool->dma_map==false for memory providers that do not need
> mapping/unmapping, which you are checking in
> __page_pool_release_page_dma.

In page_pool_item_unmap(), it will return early when pool->mp_priv is
set no matter pool->dma_map is set or not, that was why I had the above
paragraph in the commit message.

The question seems to be about whether net_devmem_unbind_dmabuf() might
be called after driver has already unbound as it seems to be doing the
DMA unmapping operation based on the device of netdev->dev.parent, and
page_pool doesn't seems to have direct calling of net_devmem_unbind_dmabuf()
related API.

I am not able to find who and where is seting the netdev->dev.parent, but
I guess the DMA API is also not allowed to be called on the device of
netdev->dev.parent when the networking driver has unbound?

> 

  reply	other threads:[~2025-02-07  9:38 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-27  2:57 [RFC v8 0/5] fix two bugs related to page_pool Yunsheng Lin
2025-01-27  2:57 ` [Intel-wired-lan] " Yunsheng Lin
2025-01-27  2:57 ` [RFC v8 1/5] page_pool: introduce page_pool_get_pp() API Yunsheng Lin
2025-01-27  2:57   ` [Intel-wired-lan] " Yunsheng Lin
2025-01-27  2:57 ` [RFC v8 2/5] page_pool: fix timing for checking and disabling napi_local Yunsheng Lin
2025-01-27  2:57 ` [RFC v8 3/5] page_pool: fix IOMMU crash when driver has already unbound Yunsheng Lin
2025-01-28  6:12   ` Christoph Hellwig
2025-02-04 14:23     ` Yunsheng Lin
2025-02-06 16:54       ` Mina Almasry
2025-02-07  9:38         ` Yunsheng Lin [this message]
2025-01-27  2:57 ` [RFC v8 4/5] page_pool: support unlimited number of inflight pages Yunsheng Lin
2025-01-27  2:57 ` [RFC v8 5/5] page_pool: skip dma sync operation for " Yunsheng Lin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ebddfc6b-4d1d-425b-9d20-8b912df36000@huawei.com \
    --to=linyunsheng@huawei.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.duyck@gmail.com \
    --cc=almasrymina@google.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=fanghaiqing@huawei.com \
    --cc=hawk@kernel.org \
    --cc=hch@infradead.org \
    --cc=horms@kernel.org \
    --cc=ilias.apalodimas@linaro.org \
    --cc=iommu@lists.linux.dev \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=liuyonglong@huawei.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=robin.murphy@arm.com \
    --cc=yunshenglin0825@gmail.com \
    --cc=zhangkun09@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.