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:   Wed, 6 Jul 2022 15:24:58 +0200
From:   Eric Dumazet <edumazet@...gle.com>
To:     Antoine Tenart <atenart@...nel.org>
Cc:     David Miller <davem@...emloft.net>,
        Jakub Kicinski <kuba@...nel.org>,
        Paolo Abeni <pabeni@...hat.com>,
        netdev <netdev@...r.kernel.org>
Subject: Re: [PATCH net-next] Documentation: add a description for net.core.high_order_alloc_disable

On Wed, Jul 6, 2022 at 10:53 AM Antoine Tenart <atenart@...nel.org> wrote:
>
> A description is missing for the net.core.high_order_alloc_disable
> option in admin-guide/sysctl/net.rst ; add it. The above sysctl option
> was introduced by commit ce27ec60648d ("net: add high_order_alloc_disable
> sysctl/static key").
>
> Cc: Eric Dumazet <edumazet@...gle.com>
> Signed-off-by: Antoine Tenart <atenart@...nel.org>
> ---
>  Documentation/admin-guide/sysctl/net.rst | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/Documentation/admin-guide/sysctl/net.rst b/Documentation/admin-guide/sysctl/net.rst
> index fcd650bdbc7e..85ab83411359 100644
> --- a/Documentation/admin-guide/sysctl/net.rst
> +++ b/Documentation/admin-guide/sysctl/net.rst
> @@ -391,6 +391,16 @@ GRO has decided not to coalesce, it is placed on a per-NAPI list. This
>  list is then passed to the stack when the number of segments reaches the
>  gro_normal_batch limit.
>
> +high_order_alloc_disable
> +------------------------
> +
> +By default the allocator for page frags tries to use high order pages (order-3
> +on x86). While the default behavior gives good results in most cases, some users
> +might hit a contention in page allocations/freeing. This allows to opt-in for
> +order-0 allocation instead.
>

Note:

linux-5.14 allowed high-order pages to be stored on the per-cpu lists.

I ran again the benchmark cited in commit ce27ec60648d to confirm that
the slowdown we had before 5.14 for
high number of alloc/frees per second is no more.

    for thr in {1..30}
    do
     sysctl -wq net.core.high_order_alloc_disable=0
     T0=`./super_netperf $thr -H 127.0.0.1 -l 15`
     sysctl -wq net.core.high_order_alloc_disable=1
     T1=`./super_netperf $thr -H 127.0.0.1 -l 15`
     echo $thr:$T0:$T1
    done

1:62799:48115
2:121604:94588
3:183240:138376
4:241544:184639
5:302641:232985
6:358566:276494
7:418464:316401
8:470687:362562
9:528084:401193
10:586269:446422
11:642764:482556
12:696490:530701
13:748840:573388
14:808681:610787
15:856676:645813
16:912061:687695
17:966847:738943
18:1011960:771893
19:1056554:798815
20:1109519:844586
21:1159857:849445
22:1203224:888646
23:1226389:933538
24:1238174:964386
...


 +
> +Default: 0
> +
>  2. /proc/sys/net/unix - Parameters for Unix domain sockets
>  ----------------------------------------------------------
>
> --
> 2.36.1
>

Powered by blists - more mailing lists