Messages in this thread | | | Date | Tue, 12 Dec 2023 18:19:09 -0800 | Subject | Re: [net-next v1 08/16] memory-provider: dmabuf devmem memory provider | From | David Ahern <> |
| |
On 12/12/23 6:09 PM, Mina Almasry wrote: > OK, I imagine this is not that hard to implement - it's really whether > the change is acceptable to reviewers. > > I figure I can start by implementing a no-op abstraction to page*: > > typedef struct page netmem_t > > and replace the page* in the following places with netmem_t*: > > 1. page_pool API (not internals) > 2. drivers using the page_pool. > 3. skb_frag_t. >
accessors to skb_frag_t field are now consolidated to include/linux/skbuff.h (the one IB driver was fixed in Sept by 4ececeb83986), so changing skb_frag_t from bio_vec to something like:
typedef struct skb_frag { void *addr; unsigned int length; unsigned int offset; };
is trivial. From there, addr can default to `struct page *`. If LSB is set, strip it and return `struct page_pool_iov *` or `struct buffer_pool *`
| |