Thread (30 messages) 30 messages, 5 authors, 2023-07-26

Re: [PATCH RFC net-next v2 7/7] net: skbuff: always try to recycle PP pages directly when in softirq

From: Alexander Lobakin <aleksander.lobakin@intel.com>
Date: 2023-07-21 15:40:13
Also in: lkml

From: Yunsheng Lin <redacted>
Date: Fri, 21 Jul 2023 19:53:33 +0800
On 2023/7/21 3:46, Jakub Kicinski wrote:
quoted
On Thu, 20 Jul 2023 21:33:40 +0200 Alexander Lobakin wrote:
quoted
quoted
We can as well check
	(in_softirq() && !irqs_disabled() && !in_hardirq())
?  
Yes, something like that. Messy, but I see no other options...

So, I guess you want to add an assertion to make sure that we're *not*
in this:

in_hardirq() || irqs_disabled()

Does this mean that after it's added, my patch is sane? :p
Well... it's acceptable. Make sure you add a good, informative
but concise comment :)
Does it mean ptr_ring_produce_any() is needed in
page_pool_recycle_in_ring() too?

As it is assumed that page pool API can be called in the context with
irqs_disabled() || in_hardirq(), and force recylcling happens in the
prt_ring.

Isn't it conflit with the below patch? as the below patch assume page
pool API can not be called in the context with irqs_disabled() || in_hardirq():
[PATCH net-next] page_pool: add a lockdep check for recycling in hardirq

Or am I missing something obvious here?
No, Page Pool is *not* intended to be called when IRQs are disabled,
hence the fix Jakub's posted in the separate thread.

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