Message ID | 20230626183611.40479-1-charlie@rivosinc.com (mailing list archive) |
---|---|
Headers | show |
Series | Restrict address space for sv39,sv48,sv57 | expand |
Hey Charlie, On Mon, Jun 26, 2023 at 11:36:02AM -0700, Charlie Jenkins wrote: > Make sv39 the default address space for mmap as some applications > currently depend on this assumption. The RISC-V specification enforces > that bits outside of the virtual address range are not used, so > restricting the size of the default address space as such should be > temporary. A hint address passed to mmap will cause the largest address > space that fits entirely into the hint to be used. If the hint is less > than or equal to 1<<38, a 39-bit address will be used. After an address > space is completely full, the next smallest address space will be used. > > Documentation is also added to the RISC-V virtual memory section to explain > these changes. I don't know what went wrong here, but this never ended up in patchwork for some reason, although it has appeared on lore. That seems to be via the docs mailing list, rather than linux-riscv. Could you speak to Atish and see if he knows what went wrong? Cheers, Conor. > > Charlie Jenkins (2): > RISC-V: mm: Restrict address space for sv39,sv48,sv57 > RISC-V: mm: Update documentation and include test > > Documentation/riscv/vm-layout.rst | 20 ++++++++ > arch/riscv/include/asm/elf.h | 2 +- > arch/riscv/include/asm/pgtable.h | 21 ++++++-- > arch/riscv/include/asm/processor.h | 41 +++++++++++++--- > tools/testing/selftests/riscv/Makefile | 2 +- > tools/testing/selftests/riscv/mm/Makefile | 22 +++++++++ > .../selftests/riscv/mm/testcases/mmap.c | 49 +++++++++++++++++++ > 7 files changed, 144 insertions(+), 13 deletions(-) > create mode 100644 tools/testing/selftests/riscv/mm/Makefile > create mode 100644 tools/testing/selftests/riscv/mm/testcases/mmap.c > > > base-commit: eef509789cecdce895020682192d32e8bac790e8 > -- > 2.34.1 >
I talked to Atish, he's not sure what's going on here either. I am going to add him to the CC list. On Tue, Jun 27, 2023 at 11:24 AM Conor Dooley <conor@kernel.org> wrote: > Hey Charlie, > > On Mon, Jun 26, 2023 at 11:36:02AM -0700, Charlie Jenkins wrote: > > Make sv39 the default address space for mmap as some applications > > currently depend on this assumption. The RISC-V specification enforces > > that bits outside of the virtual address range are not used, so > > restricting the size of the default address space as such should be > > temporary. A hint address passed to mmap will cause the largest address > > space that fits entirely into the hint to be used. If the hint is less > > than or equal to 1<<38, a 39-bit address will be used. After an address > > space is completely full, the next smallest address space will be used. > > > > Documentation is also added to the RISC-V virtual memory section to > explain > > these changes. > > I don't know what went wrong here, but this never ended up in patchwork > for some reason, although it has appeared on lore. That seems to be via > the docs mailing list, rather than linux-riscv. Could you speak to Atish > and see if he knows what went wrong? > > Cheers, > Conor. > > > > > Charlie Jenkins (2): > > RISC-V: mm: Restrict address space for sv39,sv48,sv57 > > RISC-V: mm: Update documentation and include test > > > > Documentation/riscv/vm-layout.rst | 20 ++++++++ > > arch/riscv/include/asm/elf.h | 2 +- > > arch/riscv/include/asm/pgtable.h | 21 ++++++-- > > arch/riscv/include/asm/processor.h | 41 +++++++++++++--- > > tools/testing/selftests/riscv/Makefile | 2 +- > > tools/testing/selftests/riscv/mm/Makefile | 22 +++++++++ > > .../selftests/riscv/mm/testcases/mmap.c | 49 +++++++++++++++++++ > > 7 files changed, 144 insertions(+), 13 deletions(-) > > create mode 100644 tools/testing/selftests/riscv/mm/Makefile > > create mode 100644 tools/testing/selftests/riscv/mm/testcases/mmap.c > > > > > > base-commit: eef509789cecdce895020682192d32e8bac790e8 > > -- > > 2.34.1 > > >
I see it in patchwork here: https://patchwork.kernel.org/project/linux-mm/cover/20230626183611.40479-1-charlie@rivosinc.com/. On Tue, Jun 27, 2023 at 1:44 PM Charles Jenkins <charlie@rivosinc.com> wrote: > > I talked to Atish, he's not sure what's going on here either. I am going > to add him to the CC list. > > On Tue, Jun 27, 2023 at 11:24 AM Conor Dooley <conor@kernel.org> wrote: > > > Hey Charlie, > > > > On Mon, Jun 26, 2023 at 11:36:02AM -0700, Charlie Jenkins wrote: > > > Make sv39 the default address space for mmap as some applications > > > currently depend on this assumption. The RISC-V specification enforces > > > that bits outside of the virtual address range are not used, so > > > restricting the size of the default address space as such should be > > > temporary. A hint address passed to mmap will cause the largest address > > > space that fits entirely into the hint to be used. If the hint is less > > > than or equal to 1<<38, a 39-bit address will be used. After an address > > > space is completely full, the next smallest address space will be used. > > > > > > Documentation is also added to the RISC-V virtual memory section to > > explain > > > these changes. > > > > I don't know what went wrong here, but this never ended up in patchwork > > for some reason, although it has appeared on lore. That seems to be via > > the docs mailing list, rather than linux-riscv. Could you speak to Atish > > and see if he knows what went wrong? > > > > Cheers, > > Conor. > > > > > > > > Charlie Jenkins (2): > > > RISC-V: mm: Restrict address space for sv39,sv48,sv57 > > > RISC-V: mm: Update documentation and include test > > > > > > Documentation/riscv/vm-layout.rst | 20 ++++++++ > > > arch/riscv/include/asm/elf.h | 2 +- > > > arch/riscv/include/asm/pgtable.h | 21 ++++++-- > > > arch/riscv/include/asm/processor.h | 41 +++++++++++++--- > > > tools/testing/selftests/riscv/Makefile | 2 +- > > > tools/testing/selftests/riscv/mm/Makefile | 22 +++++++++ > > > .../selftests/riscv/mm/testcases/mmap.c | 49 +++++++++++++++++++ > > > 7 files changed, 144 insertions(+), 13 deletions(-) > > > create mode 100644 tools/testing/selftests/riscv/mm/Makefile > > > create mode 100644 tools/testing/selftests/riscv/mm/testcases/mmap.c > > > > > > > > > base-commit: eef509789cecdce895020682192d32e8bac790e8 > > > -- > > > 2.34.1 > > > > >