• Ard Biesheuvel's avatar
    arm64: remove CONFIG_DEBUG_ALIGN_RODATA feature · e16e65a0
    Ard Biesheuvel authored
    When CONFIG_DEBUG_ALIGN_RODATA is enabled, kernel segments mapped with
    different permissions (r-x for .text, r-- for .rodata, rw- for .data,
    etc) are rounded up to 2 MiB so they can be mapped more efficiently.
    In particular, it permits the segments to be mapped using level 2
    block entries when using 4k pages, which is expected to result in less
    TLB pressure.
    
    However, the mappings for the bulk of the kernel will use level 2
    entries anyway, and the misaligned fringes are organized such that they
    can take advantage of the contiguous bit, and use far fewer level 3
    entries than would be needed otherwise.
    
    This makes the value of this feature dubious at best, and since it is not
    enabled in defconfig or in the distro configs, it does not appear to be
    in wide use either. So let's just remove it.
    Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
    Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
    Acked-by: default avatarWill Deacon <will@kernel.org>
    Acked-by: default avatarLaura Abbott <labbott@kernel.org>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    e16e65a0
arm64-stub.c 4.65 KB