RE: [PATCH net] net: fec: tx processing does not call XDP APIs if budget is 0
From: Wei Fang <wei.fang@nxp.com>
Date: 2023-07-27 05:33:24
Also in:
lkml
On Thu, 27 Jul 2023 02:08:32 +0000 Wei Fang wrote:quoted
quoted
Actually after talking with Jakub a bit more there is an issue here, but not freeing the frames isn't the solution. We likely need to just fix the page pool code so that it doesn't attempt to recycle the frames if operating in IRQ context. The way this is dealt with for skbs is that we queue skbs if we are in IRQ context so that it can be deferred to be freed by the net_tx_action. We likely need to look at doing something similar for page_pool pages or XDP frames.After reading your discussion with Jakub, I understand this issue a bit more. But we are not sure when this issue will be fixed in page pool, currently we can only tolerate a delay in sending of a netpoll message. So I think this patch is necessary, and I will refine it in the future when the page pool has fixed the issue. In addition, as you mentioned before, napi_consume_skb should be used to instead ofdev_kfree_skb_any, so I will improve this patch in version 2. I think so too, since the patch can only help, you already wrote it and it won't be extra backporting work since the code is only present in 6.5 - I think it's worth applying. And we can refine things as page pool limitations get listed (the napi_consume_skb() is net-next material, anyway).
Okay, thank you. :)