* [RFC, PATCHv1 00/28] 5-level paging [not found] ` <20161209050130.GC2595@gmail.com> @ 2016-12-09 10:24 ` Arnd Bergmann 2016-12-09 10:51 ` Catalin Marinas 0 siblings, 1 reply; 2+ messages in thread From: Arnd Bergmann @ 2016-12-09 10:24 UTC (permalink / raw) To: linux-arm-kernel On Friday, December 9, 2016 6:01:30 AM CET Ingo Molnar wrote: > > - Handle opt-in wider address space for userspace. > > > > Not all userspace is ready to handle addresses wider than current > > 47-bits. At least some JIT compiler make use of upper bits to encode > > their info. > > > > We need to have an interface to opt-in wider addresses from userspace > > to avoid regressions. > > > > For now, I've included testing-only patch which bumps TASK_SIZE to > > 56-bits. This can be handy for testing to see what breaks if we max-out > > size of virtual address space. > > So this is just a detail - but it sounds a bit limiting to me to provide an 'opt > in' flag for something that will work just fine on the vast majority of 64-bit > software. > > Please make this an opt out compatibility flag instead: similar to how we handle > address space layout limitations/quirks ABI details, such as ADDR_LIMIT_32BIT, > ADDR_LIMIT_3GB, ADDR_COMPAT_LAYOUT, READ_IMPLIES_EXEC, etc. We've had a similar discussion about JIT software on ARM64, which has a wide range of supported page table layouts and some software wants to limit that to a specific number. I don't remember the outcome of that discussion, but I'm adding a few people to Cc that might remember. There have also been some discussions in the past to make the depth of the page table a per-task decision on s390, since you may have some tasks that run just fine with two or three levels of paging while another task actually wants the full 64-bit address space. I wonder how much extra work this would be on top of the boot-time option. Arnd ^ permalink raw reply [flat|nested] 2+ messages in thread
* [RFC, PATCHv1 00/28] 5-level paging 2016-12-09 10:24 ` [RFC, PATCHv1 00/28] 5-level paging Arnd Bergmann @ 2016-12-09 10:51 ` Catalin Marinas 0 siblings, 0 replies; 2+ messages in thread From: Catalin Marinas @ 2016-12-09 10:51 UTC (permalink / raw) To: linux-arm-kernel On Fri, Dec 09, 2016 at 11:24:12AM +0100, Arnd Bergmann wrote: > On Friday, December 9, 2016 6:01:30 AM CET Ingo Molnar wrote: > > > - Handle opt-in wider address space for userspace. > > > > > > Not all userspace is ready to handle addresses wider than current > > > 47-bits. At least some JIT compiler make use of upper bits to encode > > > their info. > > > > > > We need to have an interface to opt-in wider addresses from userspace > > > to avoid regressions. > > > > > > For now, I've included testing-only patch which bumps TASK_SIZE to > > > 56-bits. This can be handy for testing to see what breaks if we max-out > > > size of virtual address space. > > > > So this is just a detail - but it sounds a bit limiting to me to provide an 'opt > > in' flag for something that will work just fine on the vast majority of 64-bit > > software. > > > > Please make this an opt out compatibility flag instead: similar to how we handle > > address space layout limitations/quirks ABI details, such as ADDR_LIMIT_32BIT, > > ADDR_LIMIT_3GB, ADDR_COMPAT_LAYOUT, READ_IMPLIES_EXEC, etc. > > We've had a similar discussion about JIT software on ARM64, which has a wide > range of supported page table layouts and some software wants to limit that > to a specific number. > > I don't remember the outcome of that discussion, but I'm adding a few people > to Cc that might remember. The arm64 kernel supports several user VA space configurations (though commonly 39 and 48-bit) and has had these from the initial port. We realised that certain JITs (e.g. https://bugzilla.mozilla.org/show_bug.cgi?id=1143022) and IIRC LLVM assume a 47-bit user VA but AFAICT, most have been fixed. ARMv8.1 also supports 52-bit VA (though only with 64K pages and we haven't added support for it yet). However, it's likely that if we make a 52-bit TASK_SIZE this the default, we will break some user assumptions. While arguably that's not necessarily ABI, if user relies on a 47 or 48-bit VA the kernel shouldn't break it. So I'm strongly inclined to make the 52-bit TASK_SIZE an opt-in on arm64. -- Catalin ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-12-09 10:51 UTC | newest] Thread overview: 2+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20161208162150.148763-1-kirill.shutemov@linux.intel.com> [not found] ` <20161209050130.GC2595@gmail.com> 2016-12-09 10:24 ` [RFC, PATCHv1 00/28] 5-level paging Arnd Bergmann 2016-12-09 10:51 ` Catalin Marinas
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).