diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2016-02-22 17:46:03 (GMT) |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2016-02-23 17:42:11 (GMT) |
commit | a92405f082d43267575444a6927085e4c8a69e4e (patch) | |
tree | ba1521809b1a95c228956628863c8d454cd0dff7 /arch | |
parent | 70c8abc28762d04e36c92e07eee2ce6ab41049cb (diff) | |
download | linux-a92405f082d43267575444a6927085e4c8a69e4e.tar.xz |
arm64: mm: only perform memstart_addr sanity check if DEBUG_VM
Checking whether memstart_addr has been assigned every time it is
referenced adds a branch instruction that may hurt performance if
the reference in question occurs on a hot path. So only perform the
check if CONFIG_DEBUG_VM=y.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
[catalin.marinas@arm.com: replaced #ifdef with VM_BUG_ON]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm64/include/asm/memory.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h index 3239e4d..460d09b 100644 --- a/arch/arm64/include/asm/memory.h +++ b/arch/arm64/include/asm/memory.h @@ -132,9 +132,11 @@ #ifndef __ASSEMBLY__ +#include <linux/mmdebug.h> + extern phys_addr_t memstart_addr; /* PHYS_OFFSET - the physical address of the start of memory. */ -#define PHYS_OFFSET ({ BUG_ON(memstart_addr & 1); memstart_addr; }) +#define PHYS_OFFSET ({ VM_BUG_ON(memstart_addr & 1); memstart_addr; }) /* the offset between the kernel virtual and physical mappings */ extern u64 kimage_voffset; |