On Wed, Apr 19, 2023 at 4:02 PM Jesper Dangaard Brouer <jbrouer@xxxxxxxxxx> wrote: > With TCP sockets (pipes etc) we can take care of closing the sockets > (and programs etc) to free up the SKBs (and perhaps wait for timeouts) > to make sure the page_pool shutdown doesn't hang. This can not happen in many cases, like pages being now mapped to user space programs, or nfsd or whatever. I think that fundamentally, page pool should handle this case gracefully. For instance, when a TCP socket is closed(), user space can die, but many resources in the kernel are freed later. We do not block a close() just because a qdisc decided to hold a buffer for few minutes.