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]
Message-ID: <aWnow3tQv0KxSOMe@hyeyoo>
Date: Fri, 16 Jan 2026 16:29:07 +0900
From: Harry Yoo <harry.yoo@...cle.com>
To: Vlastimil Babka <vbabka@...e.cz>
Cc: Petr Tesarik <ptesarik@...e.com>, Christoph Lameter <cl@...two.org>,
        David Rientjes <rientjes@...gle.com>,
        Roman Gushchin <roman.gushchin@...ux.dev>, Hao Li <hao.li@...ux.dev>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Uladzislau Rezki <urezki@...il.com>,
        "Liam R. Howlett" <Liam.Howlett@...cle.com>,
        Suren Baghdasaryan <surenb@...gle.com>,
        Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
        Alexei Starovoitov <ast@...nel.org>, linux-mm@...ck.org,
        linux-kernel@...r.kernel.org, linux-rt-devel@...ts.linux.dev,
        bpf@...r.kernel.org, kasan-dev@...glegroups.com
Subject: Re: [PATCH RFC v2 05/20] slab: introduce percpu sheaves bootstrap

Copying-and-pasting the latest version of the patch to review inline,
https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/linux.git/commit/?h=b4/sheaves-for-all&id=daa81eadcd0f9e3b8085dd7fb8bb873f4cde88b4
> commit 36b6dba09fee446540b8bd6dd771859aedf2aafb
> Author: Vlastimil Babka <vbabka@...e.cz>
> Date:   Mon Oct 6 12:13:33 2025 +0200
> 
>     slab: introduce percpu sheaves bootstrap
> 
>     Until now, kmem_cache->cpu_sheaves was !NULL only for caches with
>     sheaves enabled. Since we want to enable them for almost all caches,
>     it's suboptimal to test the pointer in the fast paths, so instead
>     allocate it for all caches in do_kmem_cache_create(). Instead of testing
>     the cpu_sheaves pointer to recognize caches (yet) without sheaves, test
>     kmem_cache->sheaf_capacity for being 0, where needed, using a new
>     cache_has_sheaves() helper.
> 
>     However, for the fast paths sake we also assume that the main sheaf
>     always exists (pcs->main is !NULL), and during bootstrap we cannot
>     allocate sheaves yet.
> 
>     Solve this by introducing a single static bootstrap_sheaf that's
>     assigned as pcs->main during bootstrap. It has a size of 0, so during
>     allocations, the fast path will find it's empty. Since the size of 0
>     matches sheaf_capacity of 0, the freeing fast paths will find it's
>     "full". In the slow path handlers, we use cache_has_sheaves() to
>     recognize that the cache doesn't (yet) have real sheaves, and fall back.
>     Thus sharing the single bootstrap sheaf like this for multiple caches
>     and cpus is safe.
> 
>     Signed-off-by: Vlastimil Babka <vbabka@...e.cz>

Looks good to me,
Reviewed-by: Harry Yoo <harry.yoo@...cle.com>

-- 
Cheers,
Harry / Hyeonggon

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ