diff options
| author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2016-02-22 18:46:03 +0100 |
|---|---|---|
| committer | Alex Shi <alex.shi@linaro.org> | 2016-05-11 22:52:49 +0800 |
| commit | bf7cb966b2f5ef5a456a25d84d2b64c79730a07a (patch) | |
| tree | 8cebf701271eed79b26961c841f49a755d8b2081 /arch | |
| parent | a67099df67dec4550a650aa3b871e2b0ecd20957 (diff) | |
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>
(cherry picked from commit a92405f082d43267575444a6927085e4c8a69e4e)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
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 3239e4d78e0d..460d09bf9442 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; |
