Thread (11 messages) 11 messages, 2 authors, 12d ago

Re: [PATCH net-next v2 1/3] net: devmem: replace gen_pool with freelist

From: Stanislav Fomichev <hidden>
Date: 2026-09-16 15:01:43
Also in: lkml

You're warning here that you can't destroy the dmabuf binding but
you're destroying it anyway. Something is off here. Do we want an
early return or something else?
I'm assuming we had an early return because gen_pool_destroy would
BUG_ON on non-empty pool. Let me just reword this warning.
The LLM thinks this NULL store in unnecassary. IDK if it will help
anything in practice to remove it :-)
No preference, let me remove it.
We don't need freelists on tx right? We should probably not allocate
them then?
Yeah, good point, will make it rx only.
Do we really need a secondary for_each_sgtable_dma_sg loop just to
calculate the total_niovs? In what edge case is the total_niovs not
just dmabuf_len / niov_len? We do a bunch of alignment checks to make
sure it all works out to that no?
Agreed, that should work!
binding->total_niovs and binding->area.num_niovs seem the same thing
always. please get rid of one, probably binding->total_niovs.
Will do, thanks!
I wonder if now that both zcrx and devmem use a freelist if the
freelist should be part of the net_iov_area. The point of that field
was to hold the common stuff actually, but I'm guessing there are
micro-implementation differences that will make converging annoying.
I'm fine either way. :shrug:
Let me write it down too look separately. Agreed that it'd be nice
to generalize.
len is referenced once now; not worth a local var.
SG!
if feels somewhat simple to exclude freelist from TX. Something like:

if (direction == dma_to_device)
  <store into tx_vec>
else
  <store in freelist>
Will do, yeah. Thank you for the review!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help