Jakub Kicinski <kuba@xxxxxxxxxx> writes: > On Fri, 28 Apr 2023 18:16:19 +0200 Jesper Dangaard Brouer wrote: >> This removes the workqueue scheme that periodically tests when >> inflight reach zero such that page_pool memory can be freed. >> >> This change adds code to fast-path free checking for a shutdown flags >> bit after returning PP pages. > > We can remove the warning without removing the entire delayed freeing > scheme. I definitely like the SHUTDOWN flag and patch 2 but I'm a bit > less clear on why the complexity of datapath freeing is justified. > Can you explain? You mean just let the workqueue keep rescheduling itself every minute for the (potentially) hours that skbs will stick around? Seems a bit wasteful, doesn't it? :) We did see an issue where creating and tearing down lots of page pools in a short period of time caused significant slowdowns due to the workqueue mechanism. Lots being "thousands per second". This is possible using the live packet mode of bpf_prog_run() for XDP, which will setup and destroy a page pool for each syscall... -Toke