[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f1b26313-c377-251d-97f6-b56671f98921@redhat.com>
Date: Wed, 19 Apr 2023 18:10:43 +0200
From: Jesper Dangaard Brouer <jbrouer@...hat.com>
To: Eric Dumazet <edumazet@...gle.com>,
Jesper Dangaard Brouer <jbrouer@...hat.com>
Cc: brouer@...hat.com, Lorenzo Bianconi <lorenzo@...nel.org>,
Jakub Kicinski <kuba@...nel.org>, netdev@...r.kernel.org,
hawk@...nel.org, ilias.apalodimas@...aro.org, davem@...emloft.net,
pabeni@...hat.com, bpf@...r.kernel.org,
lorenzo.bianconi@...hat.com, nbd@....name,
Toke Hoiland Jorgensen <toke@...hat.com>
Subject: Re: issue with inflight pages from page_pool
On 19/04/2023 16.18, Eric Dumazet wrote:
> On Wed, Apr 19, 2023 at 4:02 PM Jesper Dangaard Brouer
> <jbrouer@...hat.com> 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.
>
But page pool does handle this gracefully via scheduling a workqueue.
--Jesper
Powered by blists - more mailing lists