diff options
author | Rongwei Wang <rongwei.wang@linux.alibaba.com> | 2021-11-26 01:06:00 +0800 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2021-12-10 13:57:25 +0000 |
commit | 7afccde389dcfaca793a0d909f8cb7412e1d1dbe (patch) | |
tree | cd93a72cf567db9835041a743079424d6ae90089 | |
parent | fde046e07d3343a0417eafc0533b0c9675b393e5 (diff) | |
download | linux-7afccde389dcfaca793a0d909f8cb7412e1d1dbe.tar.gz |
arm64: kexec: reduce calls to page_address()
In kexec_page_alloc(), page_address() is called twice.
This patch add a new variable to help to reduce calls
to page_address().
Signed-off-by: Rongwei Wang <rongwei.wang@linux.alibaba.com>
Link: https://lore.kernel.org/r/20211125170600.1608-3-rongwei.wang@linux.alibaba.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-rw-r--r-- | arch/arm64/kernel/machine_kexec.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm64/kernel/machine_kexec.c b/arch/arm64/kernel/machine_kexec.c index 1038494135c8..7f2530bcd42e 100644 --- a/arch/arm64/kernel/machine_kexec.c +++ b/arch/arm64/kernel/machine_kexec.c @@ -104,13 +104,15 @@ static void *kexec_page_alloc(void *arg) { struct kimage *kimage = (struct kimage *)arg; struct page *page = kimage_alloc_control_pages(kimage, 0); + void *vaddr = NULL; if (!page) return NULL; - memset(page_address(page), 0, PAGE_SIZE); + vaddr = page_address(page); + memset(vaddr, 0, PAGE_SIZE); - return page_address(page); + return vaddr; } int machine_kexec_post_load(struct kimage *kimage) |