Re: [PATCH v1 03/15] net: generalise net_iov chunk owners

Stanislav Fomichev
2024-10-08T15:46:57Z

On 10/07, David Wei wrote:
> From: Pavel Begunkov <asml.silence@gmail.com>
>
> Currently net_iov stores a pointer to struct dmabuf_genpool_chunk_owner,
> which serves as a useful abstraction to share data and provide a
> context. However, it's too devmem specific, and we want to reuse it for
> other memory providers, and for that we need to decouple net_iov from
> devmem. Make net_iov to point to a new base structure called
> net_iov_area, which dmabuf_genpool_chunk_owner extends.
>
> Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
> Signed-off-by: David Wei <dw@davidwei.uk>
> ---
> include/net/netmem.h | 21 ++++++++++++++++++++-
> net/core/devmem.c | 25 +++++++++++++------------
> net/core/devmem.h | 25 +++++++++----------------
> 3 files changed, 42 insertions(+), 29 deletions(-)
>
> diff --git a/include/net/netmem.h b/include/net/netmem.h
> index 8a6e20be4b9d..3795ded30d2c 100644
> --- a/include/net/netmem.h
> +++ b/include/net/netmem.h
> @@ -24,11 +24,20 @@ struct net_iov {
> unsigned long __unused_padding;
> unsigned long pp_magic;
> struct page_pool *pp;
> - struct dmabuf_genpool_chunk_owner *owner;
> + struct net_iov_area *owner;

Any reason not to use dmabuf_genpool_chunk_owner as is (or rename it
to net_iov_area to generalize) with the fields that you don't need
set to 0/NULL? container_of makes everything harder to follow :-(