On 10/07, David Wei wrote: > From: Pavel Begunkov <asml.silence@xxxxxxxxx> > > 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@xxxxxxxxx> > Signed-off-by: David Wei <dw@xxxxxxxxxxx> > --- > 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 :-(