linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Yunsheng Lin <linyunsheng@huawei.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: "Mina Almasry" <almasrymina@google.com>,
	davem@davemloft.net, pabeni@redhat.com, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	"Willem de Bruijn" <willemb@google.com>,
	"Kaiyuan Zhang" <kaiyuanz@google.com>,
	"Jesper Dangaard Brouer" <hawk@kernel.org>,
	"Ilias Apalodimas" <ilias.apalodimas@linaro.org>,
	"Eric Dumazet" <edumazet@google.com>,
	"Christian König" <christian.koenig@amd.com>,
	"Jason Gunthorpe" <jgg@nvidia.com>,
	"Matthew Wilcox" <willy@infradead.org>,
	Linux-MM <linux-mm@kvack.org>
Subject: Re: [PATCH RFC 3/8] memory-provider: dmabuf devmem memory provider
Date: Wed, 15 Nov 2023 17:33:13 +0800	[thread overview]
Message-ID: <56314b48-5273-6885-f3eb-5d60535faba0@huawei.com> (raw)
In-Reply-To: <20231114172534.124f544c@kernel.org>

On 2023/11/15 6:25, Jakub Kicinski wrote:
> On Tue, 14 Nov 2023 16:23:29 +0800 Yunsheng Lin wrote:
>> I would expect net stack, page pool, driver still see the 'struct page',
>> only memory provider see the specific struct for itself, for the above,
>> devmem memory provider sees the 'struct page_pool_iov'.
> 
> You can't lie to the driver that an _iov is a page either.

Yes, agreed about that.

As a matter of fact, the driver should be awared of what kind of
memory provider is using when it calls page_pool_create() during
init process.

> The driver must explicitly "opt-in" to using the _iov variant,
> by calling the _iov set of APIs.
> 
> Only drivers which can support header-data split can reasonably
> use the _iov API, for data pages.

But those drivers can still allow allocating normal memory, right?
sometimes for data and header part, and sometimes for the header part.

Do those drivers need to support two sets of APIs? the one with _iov
for devmem, and the one without _iov for normal memory. It seems somewhat
unnecessary from driver' point of veiw to support two sets of APIs?
The driver seems to know which type of page it is expecting when calling
page_pool_alloc() with a specific page_pool instance.

Or do we use the API with _iov to allocate both devmem and normal memory
in the new driver supporting devmem page?  If that is the case, does it
really matter if the API is with _iov or not?

> .
> 


      reply	other threads:[~2023-11-15  9:33 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20231113130041.58124-1-linyunsheng@huawei.com>
     [not found] ` <20231113130041.58124-4-linyunsheng@huawei.com>
     [not found]   ` <CAHS8izMjmj0DRT_vjzVq5HMQyXtZdVK=o4OP0gzbaN=aJdQ3ig@mail.gmail.com>
     [not found]     ` <20231113180554.1d1c6b1a@kernel.org>
2023-11-14  8:23       ` Yunsheng Lin
2023-11-14 12:21         ` Mina Almasry
2023-11-14 12:49           ` Yunsheng Lin
2023-11-14 12:58             ` Mina Almasry
2023-11-14 13:19               ` Yunsheng Lin
2023-11-14 15:41                 ` Willem de Bruijn
2023-11-15  9:29                   ` Yunsheng Lin
2023-11-15 18:07                     ` Mina Almasry
2023-11-15 19:05                       ` Mina Almasry
2023-11-16 11:12                         ` Yunsheng Lin
2023-11-16 11:30                           ` Mina Almasry
2023-11-14 13:16           ` Jason Gunthorpe
2023-11-15  6:46             ` Christian König
2023-11-15  9:21             ` Yunsheng Lin
2023-11-15 13:38               ` Jason Gunthorpe
2023-11-16 11:10                 ` Yunsheng Lin
2023-11-16 15:31                   ` Jason Gunthorpe
2023-11-15 17:44               ` Mina Almasry
2023-11-16 11:11                 ` Yunsheng Lin
2023-11-15 17:57               ` David Ahern
2023-11-16 11:12                 ` Yunsheng Lin
2023-11-16 15:58                   ` David Ahern
2023-11-17 11:27                     ` Yunsheng Lin
2023-11-14 22:25         ` Jakub Kicinski
2023-11-15  9:33           ` Yunsheng Lin [this message]

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=56314b48-5273-6885-f3eb-5d60535faba0@huawei.com \
    --to=linyunsheng@huawei.com \
    --cc=almasrymina@google.com \
    --cc=christian.koenig@amd.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hawk@kernel.org \
    --cc=ilias.apalodimas@linaro.org \
    --cc=jgg@nvidia.com \
    --cc=kaiyuanz@google.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=willemb@google.com \
    --cc=willy@infradead.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox