lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ