[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL+tcoA3uqfu2=va_Giub7jxLzDLCnvYhB51Q2UQ2ECcE5R86w@mail.gmail.com>
Date: Wed, 12 Feb 2025 11:20:16 +0800
From: Jason Xing <kerneljasonxing@...il.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: Mina Almasry <almasrymina@...gle.com>, davem@...emloft.net, edumazet@...gle.com,
pabeni@...hat.com, hawk@...nel.org, ilias.apalodimas@...aro.org,
horms@...nel.org, netdev@...r.kernel.org
Subject: Re: [PATCH net-next v1] page_pool: avoid infinite loop to schedule
delayed worker
On Wed, Feb 12, 2025 at 10:46 AM Jakub Kicinski <kuba@...nel.org> wrote:
>
> On Tue, 11 Feb 2025 18:37:22 -0800 Mina Almasry wrote:
> > Isn't it the condition in page_pool_release_retry() that you want. to
> > modify? That is the one that handles whether the worker keeps spinning
> > no?
>
> +1
>
> A code comment may be useful BTW.
I will add it in the next version. Yes, my intention is to avoid
initializing the delayed work since we don't expect the worker in
page_pool_release_retry() to try over and over again.
>
> > I also wonder also whether if the check in page_pool_release() itself
> > needs to be:
> >
> > if (inflight < 0)
> > __page_pool_destroy();
> >
> > otherwise the pool will never be destroyed no?
>
> It's probably safer to leak the memory than risk a crash if
> we undercounted and some page will try to return itself later?
It's also what I'm concerned about.
Thanks,
Jason
Powered by blists - more mailing lists