On 04/06/2017 07:31 PM, Kirill A. Shutemov wrote: > On x86, 5-level paging enables 56-bit userspace virtual address space. > Not all user space is ready to handle wide addresses. It's known that > at least some JIT compilers use higher bits in pointers to encode their > information. It collides with valid pointers with 5-level paging and > leads to crashes. > > To mitigate this, we are not going to allocate virtual address space > above 47-bit by default. I am wondering if the commitment of virtual space range to the user space is kind of an API which needs to be maintained there after. If that is the case then we need to have some plans when increasing it from the current level. Will those JIT compilers keep using the higher bit positions of the pointer for ever ? Then it will limit the ability of the kernel to expand the virtual address range later as well. I am not saying we should not increase till the extent it does not affect any *known* user but then we should not increase twice for now, create the hint mechanism to be passed from the user to avail beyond that (which will settle in as a expectation from the kernel later on). Do the same thing again while expanding the address range next time around. I think we need to have a plan for this and particularly around 'hint' mechanism and whether it should be decided per mmap() request or at the task level.