Message ID | 20230714001430.75798-1-charlie@rivosinc.com (mailing list archive) |
---|---|
Headers | show |
Series | RISC-V: mm: Make SV48 the default address space | expand |
On Thu, Jul 13, 2023 at 05:13:59PM -0700, Charlie Jenkins wrote: > Make sv48 the default address space for mmap as some applications > currently depend on this assumption. Users can now select a > desired address space using a non-zero hint address to mmap. Previously, > requesting the default address space from mmap by passing zero as the hint > address would result in using the largest address space possible. Some > applications depend on empty bits in the virtual address space, like Go and > Java, so this patch provides more flexibility for application developers. The patchwork automation failed to apply this, what is the base for the series? > > -Charlie > > --- > v5: > - Minor wording change in documentation > - Change some parenthesis in arch_get_mmap_ macros > - Added case for addr==0 in arch_get_mmap_ because without this, programs would > crash if RLIMIT_STACK was modified before executing the program. This was > tested using the libhugetlbfs tests. > > v4: > - Split testcases/document patch into test cases, in-code documentation, and > formal documentation patches > - Modified the mmap_base macro to be more legible and better represent memory > layout > - Fixed documentation to better reflect the implmentation > - Renamed DEFAULT_VA_BITS to MMAP_VA_BITS > - Added additional test case for rlimit changes > --- > > Charlie Jenkins (4): > RISC-V: mm: Restrict address space for sv39,sv48,sv57 > RISC-V: mm: Add tests for RISC-V mm > RISC-V: mm: Update pgtable comment documentation > RISC-V: mm: Document mmap changes > > Documentation/riscv/vm-layout.rst | 22 +++ > arch/riscv/include/asm/elf.h | 2 +- > arch/riscv/include/asm/pgtable.h | 20 ++- > arch/riscv/include/asm/processor.h | 46 +++++- > tools/testing/selftests/riscv/Makefile | 2 +- > tools/testing/selftests/riscv/mm/.gitignore | 1 + > tools/testing/selftests/riscv/mm/Makefile | 21 +++ > .../selftests/riscv/mm/testcases/mmap.c | 133 ++++++++++++++++++ > 8 files changed, 234 insertions(+), 13 deletions(-) > create mode 100644 tools/testing/selftests/riscv/mm/.gitignore > create mode 100644 tools/testing/selftests/riscv/mm/Makefile > create mode 100644 tools/testing/selftests/riscv/mm/testcases/mmap.c > > -- > 2.41.0 >
On Fri, Jul 14, 2023 at 12:17:00PM +0100, Conor Dooley wrote: > On Thu, Jul 13, 2023 at 05:13:59PM -0700, Charlie Jenkins wrote: > > Make sv48 the default address space for mmap as some applications > > currently depend on this assumption. Users can now select a > > desired address space using a non-zero hint address to mmap. Previously, > > requesting the default address space from mmap by passing zero as the hint > > address would result in using the largest address space possible. Some > > applications depend on empty bits in the virtual address space, like Go and > > Java, so this patch provides more flexibility for application developers. > > The patchwork automation failed to apply this, what is the base for the > series? I forgot to pull in the changes to the riscv selftests so the conflict is in that Makefile. I will send out a v6 with the correct base. > > > > > -Charlie > > > > --- > > v5: > > - Minor wording change in documentation > > - Change some parenthesis in arch_get_mmap_ macros > > - Added case for addr==0 in arch_get_mmap_ because without this, programs would > > crash if RLIMIT_STACK was modified before executing the program. This was > > tested using the libhugetlbfs tests. > > > > v4: > > - Split testcases/document patch into test cases, in-code documentation, and > > formal documentation patches > > - Modified the mmap_base macro to be more legible and better represent memory > > layout > > - Fixed documentation to better reflect the implmentation > > - Renamed DEFAULT_VA_BITS to MMAP_VA_BITS > > - Added additional test case for rlimit changes > > --- > > > > Charlie Jenkins (4): > > RISC-V: mm: Restrict address space for sv39,sv48,sv57 > > RISC-V: mm: Add tests for RISC-V mm > > RISC-V: mm: Update pgtable comment documentation > > RISC-V: mm: Document mmap changes > > > > Documentation/riscv/vm-layout.rst | 22 +++ > > arch/riscv/include/asm/elf.h | 2 +- > > arch/riscv/include/asm/pgtable.h | 20 ++- > > arch/riscv/include/asm/processor.h | 46 +++++- > > tools/testing/selftests/riscv/Makefile | 2 +- > > tools/testing/selftests/riscv/mm/.gitignore | 1 + > > tools/testing/selftests/riscv/mm/Makefile | 21 +++ > > .../selftests/riscv/mm/testcases/mmap.c | 133 ++++++++++++++++++ > > 8 files changed, 234 insertions(+), 13 deletions(-) > > create mode 100644 tools/testing/selftests/riscv/mm/.gitignore > > create mode 100644 tools/testing/selftests/riscv/mm/Makefile > > create mode 100644 tools/testing/selftests/riscv/mm/testcases/mmap.c > > > > -- > > 2.41.0 > >
On Fri, Jul 14, 2023 at 09:36:45AM -0700, Charlie Jenkins wrote: > On Fri, Jul 14, 2023 at 12:17:00PM +0100, Conor Dooley wrote: > > On Thu, Jul 13, 2023 at 05:13:59PM -0700, Charlie Jenkins wrote: > > > Make sv48 the default address space for mmap as some applications > > > currently depend on this assumption. Users can now select a > > > desired address space using a non-zero hint address to mmap. Previously, > > > requesting the default address space from mmap by passing zero as the hint > > > address would result in using the largest address space possible. Some > > > applications depend on empty bits in the virtual address space, like Go and > > > Java, so this patch provides more flexibility for application developers. > > > > The patchwork automation failed to apply this, what is the base for the > > series? > > I forgot to pull in the changes to the riscv selftests so the conflict > is in that Makefile. I will send out a v6 with the correct base. If you don't actually _depend_ on the content of those changes to the self tests, then just submit on top of v6.5-rc1 & Palmer can sort out the conflicts.