* Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> wrote: > On Tue, Oct 24, 2017 at 11:40:40AM +0200, Ingo Molnar wrote: > > > > * Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> wrote: > > > > > On Mon, Oct 23, 2017 at 02:40:14PM +0200, Ingo Molnar wrote: > > > > > > > > * Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> wrote: > > > > > > > > > > Making a variable that 'looks' like a constant macro dynamic in a rare Kconfig > > > > > > scenario is asking for trouble. > > > > > > > > > > We expect boot-time page mode switching to be enabled in kernel of next > > > > > generation enterprise distros. It shoudn't be that rare. > > > > > > > > My point remains even with not-so-rare Kconfig dependency. > > > > > > I don't follow how introducing new variable that depends on Kconfig option > > > would help with the situation. > > > > A new, properly named variable or function (max_physmem_bits or > > max_physmem_bits()) that is not all uppercase would make it abundantly clear that > > it is not a constant but a runtime value. > > Would we need to rename every uppercase macros that would depend on > max_physmem_bits()? Like MAXMEM. MAXMEM isn't used in too many places either - what's the total impact of it? > > > We would end up with inverse situation: people would use MAX_PHYSMEM_BITS > > > where the new variable need to be used and we will in the same situation. > > > > It should result in sub-optimal resource allocations worst-case, right? > > I don't think it's the worst case. > > For instance, virt_addr_valid() depends indirectly on it: > > virt_addr_valid() > __virt_addr_valid() > phys_addr_valid() > boot_cpu_data.x86_phys_bits (initialized with MAX_PHYSMEM_BITS) > > virt_addr_valid() is used in things like implementation /dev/kmem. > > To me it's far more risky than occasional build breakage for > CONFIG_X86_5LEVEL=y. So why do we have two variables here, one boot_cpu_data.x86_phys_bits and the other MAX_PHYSMEM_BITS - both set once during boot? I'm trying to find a clean solution for this all - hiding a boot time dependency into a constant-looking value doesn't feel clean. Thanks, Ingo -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>