From: Mukesh Pilaniya <mpilaniy@redhat.com>
To: Sourabh Jain <sourabhjain@linux.ibm.com>, linux-kernel@vger.kernel.org
Cc: Albert Ou <aou@eecs.berkeley.edu>,
Andrew Morton <akpm@linux-foundation.org>,
Baoquan He <baoquan.he@linux.dev>,
Mike Rapoport <rppt@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Pasha Tatashin <pasha.tatashin@soleen.com>,
Paul Walmsley <pjw@kernel.org>,
Pratyush Yadav <pratyush@kernel.org>,
linux-riscv@lists.infradead.org, kexec@lists.infradead.org
Subject: Re: [PATCH] kexec_file: remove unused arch_kexec_locate_mem_hole hook
Date: Fri, 28 Aug 2026 18:50:50 +0530 [thread overview]
Message-ID: <d16164ef-7211-4272-bc74-bc38efd8623e@redhat.com> (raw)
In-Reply-To: <20260827144452.508328-1-sourabhjain@linux.ibm.com>
Hi Sourabh,
The patch touches three files across three subsystems so kexec: would be
a more accurate prefix than kexec_file, for e.g.:
kexec: remove unused arch_kexec_locate_mem_hole hook
On 27/08/26 8:14 pm, Sourabh Jain wrote:
> No architecture provides an implementation of
> arch_kexec_locate_mem_hole(). Use kexec_locate_mem_hole() directly
> and remove the unused fallback wrapper from the kexec header.
>
> This simplifies the kexec memory allocation path without changing
> its behavior.
>
Also, it might be worth mentioning in the commit message that this hook
was originally introduced by commit f891f19736bd and that the last arch
override was removed in commit 6e5250eaa665; making it safe to remove now.
Otherwise, the change looks good to me. Feel free to add:
Reviewed-by: Mukesh Pilaniya <mpilaniy@redhat.com>
> Cc: Albert Ou <aou@eecs.berkeley.edu>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Baoquan He <baoquan.he@linux.dev>
> Cc: Mike Rapoport <rppt@kernel.org>
> Cc: Palmer Dabbelt <palmer@dabbelt.com>
> Cc: Pasha Tatashin <pasha.tatashin@soleen.com>
> Cc: Paul Walmsley <pjw@kernel.org>
> Cc: Pratyush Yadav <pratyush@kernel.org>
> Cc: linux-riscv@lists.infradead.org
> Cc: kexec@lists.infradead.org
> Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
> ---
> arch/riscv/kernel/kexec_elf.c | 2 +-
> include/linux/kexec.h | 15 ---------------
> kernel/kexec_file.c | 2 +-
> 3 files changed, 2 insertions(+), 17 deletions(-)
>
> diff --git a/arch/riscv/kernel/kexec_elf.c b/arch/riscv/kernel/kexec_elf.c
> index 3e9a32acb8f2..ca5abbad59e5 100644
> --- a/arch/riscv/kernel/kexec_elf.c
> +++ b/arch/riscv/kernel/kexec_elf.c
> @@ -91,7 +91,7 @@ static int elf_find_pbase(struct kimage *image, unsigned long kernel_len,
> kbuf.memsz = ALIGN(kernel_len, PAGE_SIZE);
> kbuf.cma = NULL;
> kbuf.top_down = false;
> - ret = arch_kexec_locate_mem_hole(&kbuf);
> + ret = kexec_locate_mem_hole(&kbuf);
> if (!ret) {
> *old_pbase = lowest_paddr;
> *new_pbase = kbuf.mem;
> diff --git a/include/linux/kexec.h b/include/linux/kexec.h
> index 0af8ae4fdd08..e5f1cfc11fef 100644
> --- a/include/linux/kexec.h
> +++ b/include/linux/kexec.h
> @@ -259,21 +259,6 @@ int kexec_kernel_verify_pe_sig(const char *kernel, unsigned long kernel_len);
> extern int kexec_add_buffer(struct kexec_buf *kbuf);
> int kexec_locate_mem_hole(struct kexec_buf *kbuf);
>
> -#ifndef arch_kexec_locate_mem_hole
> -/**
> - * arch_kexec_locate_mem_hole - Find free memory to place the segments.
> - * @kbuf: Parameters for the memory search.
> - *
> - * On success, kbuf->mem will have the start address of the memory region found.
> - *
> - * Return: 0 on success, negative errno on error.
> - */
> -static inline int arch_kexec_locate_mem_hole(struct kexec_buf *kbuf)
> -{
> - return kexec_locate_mem_hole(kbuf);
> -}
> -#endif
> -
> #ifndef arch_kexec_apply_relocations_add
> /*
> * arch_kexec_apply_relocations_add - apply relocations of type RELA
> diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c
> index 59fb9d71e9d8..9a981359addd 100644
> --- a/kernel/kexec_file.c
> +++ b/kernel/kexec_file.c
> @@ -784,7 +784,7 @@ int kexec_add_buffer(struct kexec_buf *kbuf)
> kbuf->cma = NULL;
>
> /* Walk the RAM ranges and allocate a suitable range for the buffer */
> - ret = arch_kexec_locate_mem_hole(kbuf);
> + ret = kexec_locate_mem_hole(kbuf);
> if (ret)
> return ret;
>
--
Regards,
Mukesh Pilaniya
WARNING: multiple messages have this Message-ID (diff)
From: Mukesh Pilaniya <mpilaniy@redhat.com>
To: Sourabh Jain <sourabhjain@linux.ibm.com>, linux-kernel@vger.kernel.org
Cc: Albert Ou <aou@eecs.berkeley.edu>,
Andrew Morton <akpm@linux-foundation.org>,
Baoquan He <baoquan.he@linux.dev>,
Mike Rapoport <rppt@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Pasha Tatashin <pasha.tatashin@soleen.com>,
Paul Walmsley <pjw@kernel.org>,
Pratyush Yadav <pratyush@kernel.org>,
linux-riscv@lists.infradead.org, kexec@lists.infradead.org
Subject: Re: [PATCH] kexec_file: remove unused arch_kexec_locate_mem_hole hook
Date: Fri, 28 Aug 2026 18:50:50 +0530 [thread overview]
Message-ID: <d16164ef-7211-4272-bc74-bc38efd8623e@redhat.com> (raw)
In-Reply-To: <20260827144452.508328-1-sourabhjain@linux.ibm.com>
Hi Sourabh,
The patch touches three files across three subsystems so kexec: would be
a more accurate prefix than kexec_file, for e.g.:
kexec: remove unused arch_kexec_locate_mem_hole hook
On 27/08/26 8:14 pm, Sourabh Jain wrote:
> No architecture provides an implementation of
> arch_kexec_locate_mem_hole(). Use kexec_locate_mem_hole() directly
> and remove the unused fallback wrapper from the kexec header.
>
> This simplifies the kexec memory allocation path without changing
> its behavior.
>
Also, it might be worth mentioning in the commit message that this hook
was originally introduced by commit f891f19736bd and that the last arch
override was removed in commit 6e5250eaa665; making it safe to remove now.
Otherwise, the change looks good to me. Feel free to add:
Reviewed-by: Mukesh Pilaniya <mpilaniy@redhat.com>
> Cc: Albert Ou <aou@eecs.berkeley.edu>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Baoquan He <baoquan.he@linux.dev>
> Cc: Mike Rapoport <rppt@kernel.org>
> Cc: Palmer Dabbelt <palmer@dabbelt.com>
> Cc: Pasha Tatashin <pasha.tatashin@soleen.com>
> Cc: Paul Walmsley <pjw@kernel.org>
> Cc: Pratyush Yadav <pratyush@kernel.org>
> Cc: linux-riscv@lists.infradead.org
> Cc: kexec@lists.infradead.org
> Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
> ---
> arch/riscv/kernel/kexec_elf.c | 2 +-
> include/linux/kexec.h | 15 ---------------
> kernel/kexec_file.c | 2 +-
> 3 files changed, 2 insertions(+), 17 deletions(-)
>
> diff --git a/arch/riscv/kernel/kexec_elf.c b/arch/riscv/kernel/kexec_elf.c
> index 3e9a32acb8f2..ca5abbad59e5 100644
> --- a/arch/riscv/kernel/kexec_elf.c
> +++ b/arch/riscv/kernel/kexec_elf.c
> @@ -91,7 +91,7 @@ static int elf_find_pbase(struct kimage *image, unsigned long kernel_len,
> kbuf.memsz = ALIGN(kernel_len, PAGE_SIZE);
> kbuf.cma = NULL;
> kbuf.top_down = false;
> - ret = arch_kexec_locate_mem_hole(&kbuf);
> + ret = kexec_locate_mem_hole(&kbuf);
> if (!ret) {
> *old_pbase = lowest_paddr;
> *new_pbase = kbuf.mem;
> diff --git a/include/linux/kexec.h b/include/linux/kexec.h
> index 0af8ae4fdd08..e5f1cfc11fef 100644
> --- a/include/linux/kexec.h
> +++ b/include/linux/kexec.h
> @@ -259,21 +259,6 @@ int kexec_kernel_verify_pe_sig(const char *kernel, unsigned long kernel_len);
> extern int kexec_add_buffer(struct kexec_buf *kbuf);
> int kexec_locate_mem_hole(struct kexec_buf *kbuf);
>
> -#ifndef arch_kexec_locate_mem_hole
> -/**
> - * arch_kexec_locate_mem_hole - Find free memory to place the segments.
> - * @kbuf: Parameters for the memory search.
> - *
> - * On success, kbuf->mem will have the start address of the memory region found.
> - *
> - * Return: 0 on success, negative errno on error.
> - */
> -static inline int arch_kexec_locate_mem_hole(struct kexec_buf *kbuf)
> -{
> - return kexec_locate_mem_hole(kbuf);
> -}
> -#endif
> -
> #ifndef arch_kexec_apply_relocations_add
> /*
> * arch_kexec_apply_relocations_add - apply relocations of type RELA
> diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c
> index 59fb9d71e9d8..9a981359addd 100644
> --- a/kernel/kexec_file.c
> +++ b/kernel/kexec_file.c
> @@ -784,7 +784,7 @@ int kexec_add_buffer(struct kexec_buf *kbuf)
> kbuf->cma = NULL;
>
> /* Walk the RAM ranges and allocate a suitable range for the buffer */
> - ret = arch_kexec_locate_mem_hole(kbuf);
> + ret = kexec_locate_mem_hole(kbuf);
> if (ret)
> return ret;
>
--
Regards,
Mukesh Pilaniya
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2026-08-28 13:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-27 14:44 [PATCH] kexec_file: remove unused arch_kexec_locate_mem_hole hook Sourabh Jain
2026-08-27 14:44 ` Sourabh Jain
2026-08-28 2:10 ` Baoquan He
2026-08-28 2:10 ` Baoquan He
2026-08-28 5:57 ` Sourabh Jain
2026-08-28 5:57 ` Sourabh Jain
2026-08-28 13:20 ` Mukesh Pilaniya [this message]
2026-08-28 13:20 ` Mukesh Pilaniya
2026-08-29 4:58 ` Sourabh Jain
2026-08-29 4:58 ` Sourabh Jain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d16164ef-7211-4272-bc74-bc38efd8623e@redhat.com \
--to=mpilaniy@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=aou@eecs.berkeley.edu \
--cc=baoquan.he@linux.dev \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=palmer@dabbelt.com \
--cc=pasha.tatashin@soleen.com \
--cc=pjw@kernel.org \
--cc=pratyush@kernel.org \
--cc=rppt@kernel.org \
--cc=sourabhjain@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.