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] [day] [month] [year] [list]
Date: Thu, 29 Feb 2024 09:57:43 -0800 (PST)
From: "Christoph Lameter (Ampere)" <cl@...ux.com>
To: Eric Dumazet <edumazet@...gle.com>
cc: Shijie Huang <shijie@...eremail.onmicrosoft.com>, 
    Huang Shijie <shijie@...amperecomputing.com>, kuba@...nel.org, 
    patches@...erecomputing.com, davem@...emloft.net, horms@...nel.org, 
    ast@...nel.org, dhowells@...hat.com, linyunsheng@...wei.com, 
    aleksander.lobakin@...el.com, linux-kernel@...r.kernel.org, 
    netdev@...r.kernel.org
Subject: Re: [PATCH v2] net: skbuff: set FLAG_SKB_NO_MERGE for
 skbuff_fclone_cache

On Thu, 29 Feb 2024, Eric Dumazet wrote:

>> If you do not specify a node or GFP_THISNODE then the slub allocator will
>> opportunistically allocate sporadically from other nodes to avoid
>> fragmentation of slabs. The page allocator also will sporadically go off
>> node in order to avoid reclaim. The page allocator may go off node
>> extensively if there is a imbalance of allocation between node. The page
>> allocator has knobs to tune off node vs reclaim options. Doing more
>> reclaim will slow things down but give you local data.
>
> Maybe, maybe not.
>
> Going back to CONFIG_SLAB=y removes all mismatches, without having to
> use GFP_THISNODE at all,
> on hosts with plenty of available memory on all nodes.


Slab uses GFPTHISNODE by default and does not respect the memory policies 
etc set for pages. As such it will causes additional overhead through 
reclaim passses etc and memory policies will not be applied on a per page 
level (as specd) but in its own layer on a per object basis. It causes 
additional fragmentation.

> I think that is some kind of evidence that something is broken in SLUB land.

That is one of the reasons that SLAB was removed.

Slub defragmentation can be disabled by either GFP_THISNODE or tuning the 
remote_claim knob in /sys/kernel/slab/<slabname>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ