[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <154b60ea-9113-4093-8082-7a471beacfb1@cs-soprasteria.com>
Date: Thu, 11 Jul 2024 13:40:17 +0000
From: LEROY Christophe <christophe.leroy2@...soprasteria.com>
To: Peter Xu <peterx@...hat.com>, Andrew Morton <akpm@...ux-foundation.org>
CC: Arnd Bergmann <arnd@...db.de>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "linux-mm@...ck.org" <linux-mm@...ck.org>,
"x86@...nel.org" <x86@...nel.org>, "linux-riscv@...ts.infradead.org"
<linux-riscv@...ts.infradead.org>, Oscar Salvador <osalvador@...e.de>
Subject: Re: [PATCH v2 3/3] mm: Add p{g/4}d_leaf() in
asm-generic/pgtable-nop{4/u}d.h
Le 10/07/2024 à 20:41, Peter Xu a écrit :
> On Wed, Jul 10, 2024 at 02:54:36PM +0000, LEROY Christophe wrote:
>>
>>
>> Le 10/07/2024 à 16:46, Peter Xu a écrit :
>>> On Wed, Jul 10, 2024 at 09:51:22AM +0200, Christophe Leroy wrote:
>>>> Commit 2c8a81dc0cc5 ("riscv/mm: fix two page table check related
>>>> issues") added pud_leaf() in include/asm-generic/pgtable-nopmd.h
>>>>
>>>> Do the same for p4d_leaf() and pgd_leaf() to avoid getting them
>>>> erroneously defined by architectures that do not implement the
>>>> related page level.
>>>>
>>>> Signed-off-by: Christophe Leroy <christophe.leroy@...roup.eu>
>>>> ---
>>>> v2: Added pXd_leaf macro as well in asm-generic/pgtable-nopXd.h to cohabit with the fallback
>>>> ---
>>>
>>> Thanks. I'd drop the inline functions, but no strong opinions.
>>
>> Inline functions enable type checking.
>>
>> With a macro you would be able to write pud_leaf(pgd) without the
>> compiler noticing the mistake.
>>
>> All other helpers in asm-generic/pgtable-nopXd.h are functions so from
>> my point of view it makes sense to keep them as functions not macros.
>
> Whoever fallbacks to the pgtable.h pxx_leaf() will still use macros and
> lose the type check again. I'd rather rely on cross-arch builds and most
> of real *_leaf() users will always detect a type mismatch.
>
> Totally no big deal, and I agree keeping them match nopxd.h rules makes
> sense.
>
Surprisingly, having both a macro and a static inline simultaneously
defining pud_leaf() on loongarch was not a problem but as soon as there
are two macros the compiler cries.
I will wait a bit more to see if robots report anything else then I'll
send an update fix.
Christophe
Powered by blists - more mailing lists