On Thu, May 12 2022 at 10:22, Dave Hansen wrote: > On 5/10/22 23:49, Peter Zijlstra wrote: >>> 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? > > I think allowing apps to say, "It's LAM_U48 or bust!" is a mistake. That'd be outright stupid. > It's OK for a debugging build that runs on one kind of hardware. But, > if we want LAM-using binaries to be portable, we have to do something > different. > > One of the stated reasons for adding LAM hardware is that folks want to > use sanitizers outside of debugging environments. To me, that means > that LAM is something that the same binary might run with or without. On/off yes, but is there an actual use case where such a mechanism would at start time dynamically chose the number of bits? > It's totally fine with me if the kernel only initially supports LAM_U57. > But, I'd ideally like to make sure that the ABI can support LAM_U57, > LAM_U48, AMD's UAI (in whatever form it settles), or other masks. Sure. No argument here. Thanks, tglx