[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <db73f4943475a1cd7f79d70896e331204102ea4e.camel@gmail.com>
Date: Mon, 07 Aug 2023 07:53:06 -0700
From: Alexander H Duyck <alexander.duyck@...il.com>
To: Alexander Lobakin <aleksander.lobakin@...el.com>, "David S. Miller"
<davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski
<kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>
Cc: Maciej Fijalkowski <maciej.fijalkowski@...el.com>, Larysa Zaremba
<larysa.zaremba@...el.com>, Yunsheng Lin <linyunsheng@...wei.com>,
Alexander Duyck <alexanderduyck@...com>, Jesper Dangaard Brouer
<hawk@...nel.org>, Ilias Apalodimas <ilias.apalodimas@...aro.org>, Simon
Horman <simon.horman@...igine.com>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next v4 0/6] page_pool: a couple of assorted
optimizations
On Fri, 2023-08-04 at 20:05 +0200, Alexander Lobakin wrote:
> That initially was a spin-off of the IAVF PP series[0], but has grown
> (and shrunk) since then a bunch. In fact, it consists of three
> semi-independent blocks:
>
> * #1-2: Compile-time optimization. Split page_pool.h into 2 headers to
> not overbloat the consumers not needing complex inline helpers and
> then stop including it in skbuff.h at all. The first patch is also
> prereq for the whole series.
> * #3: Improve cacheline locality for users of the Page Pool frag API.
> * #4-6: Use direct cache recycling more aggressively, when it is safe
> obviously. In addition, make sure nobody wants to use Page Pool API
> with disabled interrupts.
>
> Patches #1 and #5 are authored by Yunsheng and Jakub respectively, with
> small modifications from my side as per ML discussions.
> For the perf numbers for #3-6, please see individual commit messages.
>
> Also available on my GH with many more Page Pool goodies[1].
>
> [0] https://lore.kernel.org/netdev/20230530150035.1943669-1-aleksander.lobakin@intel.com
> [1] https://github.com/alobakin/linux/commits/iavf-pp-frag
>
> Alexander Lobakin (4):
> net: skbuff: don't include <net/page_pool/types.h> to <linux/skbuff.h>
> page_pool: place frag_* fields in one cacheline
> net: skbuff: avoid accessing page_pool if !napi_safe when returning
> page
> net: skbuff: always try to recycle PP pages directly when in softirq
>
> Jakub Kicinski (1):
> page_pool: add a lockdep check for recycling in hardirq
>
> Yunsheng Lin (1):
> page_pool: split types and declarations from page_pool.h
So the series mostly looks good to me. My only concern would be with
path 5 since I am not sure why we are just throwing a WARN_ON when we
could just take action on the info to prevent the problem in the first
place. That said the change doesn't hurt anything as-is so I would be
good with us thinking about changing that as a follow-up.
Reviewed-by: Alexander Duyck <alexanderduyck@...com>
Powered by blists - more mailing lists