• Palmer Dabbelt's avatar
    Merge patch series "riscv: mm: Extend mappable memory up to hint address" · 07f2c040
    Palmer Dabbelt authored
    Charlie Jenkins <charlie@rivosinc.com> says:
    
    On riscv, mmap currently returns an address from the largest address
    space that can fit entirely inside of the hint address. This makes it
    such that the hint address is almost never returned. This patch raises
    the mappable area up to and including the hint address. This allows mmap
    to often return the hint address, which allows a performance improvement
    over searching for a valid address as well as making the behavior more
    similar to other architectures.
    
    Note that a previous patch introduced stronger semantics compared to
    other architectures for riscv mmap. On riscv, mmap will not use bits in
    the upper bits of the virtual address depending on the hint address. On
    other architectures, a random address is returned in the address space
    requested. On all architectures the hint address will be returned if it
    is available. This allows riscv applications to configure how many bits
    in the virtual address should be left empty. This has the two benefits
    of being able to request address spaces that are smaller than the
    default and doesn't require the application to know the page table
    layout of riscv.
    
    * b4-shazam-merge:
      docs: riscv: Define behavior of mmap
      selftests: riscv: Generalize mm selftests
      riscv: mm: Use hint address in mmap if available
    
    Link: https://lore.kernel.org/r/20240130-use_mmap_hint_address-v3-0-8a655cfa8bcb@rivosinc.comSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
    07f2c040
mmap_test.h 3.81 KB