Thread (33 messages) 33 messages, 6 authors, 2024-01-05

Re: [RFC PATCH net-next v1 2/4] net: introduce abstraction for network memory

flat view

From: Mina Almasry <hidden>
Date: 2023-12-16 22:10:43
Also in: bpf, lkml

On Fri, Dec 15, 2023 at 6:52 PM Jakub Kicinski [off-list ref] wrote:
On Wed, 13 Dec 2023 18:05:25 -0800 Mina Almasry wrote:
quoted
+struct netmem {
+     union {
+             struct page page;
+
+             /* Stub to prevent compiler implicitly converting from page*
+              * to netmem_t* and vice versa.
+              *
+              * Other memory type(s) net stack would like to support
+              * can be added to this union.
+              */
+             void *addr;
+     };
+};
My mind went to something like:

typedef unsigned long __bitwise netmem_ref;

instead. struct netmem does not exist, it's a handle which has
to be converted to a real type using a helper.
Sure thing I can do that. Is it better to do something like:

struct netmem_ref;

like in this patch:

https://lore.kernel.org/linux-mm/20221108194139.57604-1-torvalds@linux-foundation.org/ (local)

Asking because checkpatch tells me not to add typedefs to the kernel,
but checkpatch can be ignored if you think it's OK.

Also with this approach I can't use container_of and I need to do a
cast, I assume that's fine.

-- 
Thanks,
Mina
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help