[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8202821f-05bc-41f8-9de3-bf78899a7c7b@suse.cz>
Date: Mon, 4 Nov 2024 19:16:20 +0100
From: Vlastimil Babka <vbabka@...e.cz>
To: Matthew Wilcox <willy@...radead.org>,
Koichiro Den <koichiro.den@...il.com>, Peter Collingbourne <pcc@...gle.com>,
Catalin Marinas <Catalin.Marinas@....com>
Cc: cl@...ux.com, penberg@...nel.org, rientjes@...gle.com,
iamjoonsoo.kim@....com, akpm@...ux-foundation.org, roman.gushchin@...ux.dev,
42.hyeyoo@...il.com, kees@...nel.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH] mm/slab: fix warning caused by duplicate kmem_cache
creation in kmem_buckets_create
On 11/4/24 19:00, Matthew Wilcox wrote:
> On Tue, Nov 05, 2024 at 12:08:37AM +0900, Koichiro Den wrote:
>> Commit b035f5a6d852 ("mm: slab: reduce the kmalloc() minimum alignment
>> if DMA bouncing possible") reduced ARCH_KMALLOC_MINALIGN to 8 on arm64.
>> However, with KASAN_HW_TAGS enabled, arch_slab_minalign() becomes 16.
>> This causes kmalloc_caches[*][8] to be aliased to kmalloc_caches[*][16],
>> resulting in kmem_buckets_create() attempting to create a kmem_cache for
>> size 16 twice. This duplication triggers warnings on boot:
>
> Wouldn't this be easier?
They wanted it to depend on actual HW capability / kernel parameter, see
d949a8155d13 ("mm: make minimum slab alignment a runtime property")
Also Catalin's commit referenced above was part of the series that made the
alignment more dynamic for other cases IIRC. So I doubt we can simply reduce
it back to a build-time constant.
> +++ b/arch/arm64/include/asm/cache.h
> @@ -33,7 +33,11 @@
> * the CPU.
> */
> #define ARCH_DMA_MINALIGN (128)
> +#ifdef CONFIG_KASAN_HW_TAGS
> +#define ARCH_KMALLOC_MINALIGN (16)
> +#else
> #define ARCH_KMALLOC_MINALIGN (8)
> +#endif
>
> #ifndef __ASSEMBLY__
>
>
Powered by blists - more mailing lists