On Wed, May 11 2022 at 08:49, Peter Zijlstra wrote: > On Wed, May 11, 2022 at 05:27:40AM +0300, Kirill A. Shutemov wrote: >> Hi all. Here's long overdue update on LAM enabling. >> >> # Description # >> >> Linear Address Masking[1] (LAM) modifies the checking that is applied to >> 64-bit linear addresses, allowing software to use of the untranslated >> address bits for metadata. >> >> The patchset brings support for LAM for userspace addresses. >> >> The most sensitive part of enabling is change in tlb.c, where CR3 flags >> get set. Please take a look that what I'm doing makes sense. >> >> The feature competes for bits with 5-level paging: LAM_U48 makes it >> impossible to map anything about 47-bits. The patchset made these >> capability mutually exclusive: whatever used first wins. LAM_U57 can be >> combined with mappings above 47-bits. > > So aren't we creating a problem with LAM_U48 where programs relying on > it are of limited sustainability? > > Any such program simply *cannot* run on 5 level pagetables. Why do we > want to do this? More bits are better :) Seriously, I agree that restricting it to LAM57, which gives us 6 bits, makes a lot of sense _and_ makes the whole thing way simpler. So supporting both needs a truly good justification and a real world use case. Thanks, tglx