On Wed, Mar 25, 2026 at 09:09:49AM -0700, Andrew Morton wrote: > On Wed, 25 Mar 2026 14:58:14 +0000 "Lorenzo Stoakes (Oracle)" > <[email protected]> wrote: > > > On Wed, Mar 25, 2026 at 02:54:50PM +0000, Pedro Falcato wrote: > > > On Thu, Mar 05, 2026 at 10:50:16AM +0000, Lorenzo Stoakes (Oracle) wrote: > > > > Be explicit about __mk_vma_flags() (which is used by the mk_vma_flags() > > > > macro) always being inline, as we rely on the compiler converting this > > > > function into meaningful. > > > meaningful what? > > > > 'into the equivalent compile-time constant code' probably fine. > > > > Andrew - could you update that if there's time? > > > np > > > : Be explicit about __mk_vma_flags() (which is used by the mk_vma_flags() > : macro) always being inline, as we rely on the compiler converting this > : function into the equivalent compile-time constant code. > > what does "compile-time constant code" actually mean? That constants > within the code are evaluated at compile-time?
Yeah, so effectively the compiler rewrites: x = mk_vma_flags(VMA_READ_BIT, VMA_WRITE_BIT); To: x = (1UL << VMA_READ_BIT) | (1UL << VMA_WRITE_BIT); And then: x = 3; Various efforts at checking generated assembly has confirmed this. Maybe 'into an inline constant value' is better? Thanks, Lorenzo

