[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1598006254.vcbwyiiw9l.astroid@bobo.none>
Date: Fri, 21 Aug 2020 20:39:39 +1000
From: Nicholas Piggin <npiggin@...il.com>
To: Andrew Morton <akpm@...ux-foundation.org>,
Christophe Leroy <christophe.leroy@...roup.eu>,
linux-mm@...ck.org
Cc: Jonathan Cameron <Jonathan.Cameron@...wei.com>,
linux-arch@...r.kernel.org, linux-kernel@...r.kernel.org,
linuxppc-dev@...ts.ozlabs.org, Zefan Li <lizefan@...wei.com>
Subject: Re: [PATCH v5 5/8] mm: HUGE_VMAP arch support cleanup
Excerpts from Christophe Leroy's message of August 21, 2020 3:40 pm:
>
>
> Le 21/08/2020 à 06:44, Nicholas Piggin a écrit :
>> This changes the awkward approach where architectures provide init
>> functions to determine which levels they can provide large mappings for,
>> to one where the arch is queried for each call.
>>
>> This removes code and indirection, and allows constant-folding of dead
>> code for unsupported levels.
>
> I think that in order to allow constant-folding of dead code for
> unsupported levels, you must define arch_vmap_xxx_supported() as static
> inline in a .h
>
> If you have them in .c files, you'll get calls to tiny functions that
> will always return false, but will still be called and dead code won't
> be eliminated. And performance wise, that's probably not optimal either.
Yeah that's true actually, I think I didn't find a good place to add
the prototypes in the arch code but I'll have another look and either
rewrite the changelog or remove it. Although this does get a step closer
at least.
Thanks,
Nick
Powered by blists - more mailing lists