On Thu, May 12, 2022 at 05:42:58PM +0200, Thomas Gleixner wrote: > 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. I asked the question before[1]. Basically, more bits more better: For HWASAN #bits == detection probability. For MarkUS #bits == exponential cost reduction I would really like to have only LAM_U57, but IIUC 6 bits is not always enough. Dmitry, could you elaborate? [1] https://mobile.twitter.com/dvyukov/status/1342019823400837120 -- Kirill A. Shutemov