From: Baoquan He <bhe@redhat.com>
To: Hari Bathini <hbathini@linux.ibm.com>
Cc: lkml <linux-kernel@vger.kernel.org>,
linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
Kexec-ml <kexec@lists.infradead.org>,
Dave Young <dyoung@redhat.com>,
Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
Sourabh Jain <sourabhjain@linux.ibm.com>,
Michael Ellerman <mpe@ellerman.id.au>
Subject: Re: [PATCH v3 2/2] powerpc/fadump: make is_kdump_kernel() return false when fadump is active
Date: Thu, 14 Sep 2023 12:41:53 +0800 [thread overview]
Message-ID: <ZQKPEd09+XvnQ5RN@MiWiFi-R3L-srv> (raw)
In-Reply-To: <20230912082950.856977-2-hbathini@linux.ibm.com>
On 09/12/23 at 01:59pm, Hari Bathini wrote:
> Currently, is_kdump_kernel() returns true in crash dump capture kernel
> for both kdump and fadump crash dump capturing methods, as both these
> methods set elfcorehdr_addr. Some restrictions enforced for crash dump
> capture kernel, based on is_kdump_kernel(), are specifically meant for
> kdump case and not desirable for fadump - eg. IO queues restriction in
> device drivers. So, define is_kdump_kernel() to return false when f/w
> assisted dump is active.
>
> Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
> ---
> arch/powerpc/include/asm/kexec.h | 8 ++++++--
> arch/powerpc/kernel/crash_dump.c | 12 ++++++++++++
> 2 files changed, 18 insertions(+), 2 deletions(-)
LGTM,
Acked-by: Baoquan He <bhe@redhat.com>
>
> diff --git a/arch/powerpc/include/asm/kexec.h b/arch/powerpc/include/asm/kexec.h
> index a1ddba01e7d1..e1b43aa12175 100644
> --- a/arch/powerpc/include/asm/kexec.h
> +++ b/arch/powerpc/include/asm/kexec.h
> @@ -99,10 +99,14 @@ void relocate_new_kernel(unsigned long indirection_page, unsigned long reboot_co
>
> void kexec_copy_flush(struct kimage *image);
>
> -#if defined(CONFIG_CRASH_DUMP) && defined(CONFIG_PPC_RTAS)
> +#if defined(CONFIG_CRASH_DUMP)
> +bool is_kdump_kernel(void);
> +#define is_kdump_kernel is_kdump_kernel
> +#if defined(CONFIG_PPC_RTAS)
> void crash_free_reserved_phys_range(unsigned long begin, unsigned long end);
> #define crash_free_reserved_phys_range crash_free_reserved_phys_range
> -#endif
> +#endif /* CONFIG_PPC_RTAS */
> +#endif /* CONFIG_CRASH_DUMP */
>
> #ifdef CONFIG_KEXEC_FILE
> extern const struct kexec_file_ops kexec_elf64_ops;
> diff --git a/arch/powerpc/kernel/crash_dump.c b/arch/powerpc/kernel/crash_dump.c
> index 9a3b85bfc83f..2086fa6cdc25 100644
> --- a/arch/powerpc/kernel/crash_dump.c
> +++ b/arch/powerpc/kernel/crash_dump.c
> @@ -19,6 +19,7 @@
> #include <linux/uio.h>
> #include <asm/rtas.h>
> #include <asm/inst.h>
> +#include <asm/fadump.h>
>
> #ifdef DEBUG
> #include <asm/udbg.h>
> @@ -92,6 +93,17 @@ ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn,
> return csize;
> }
>
> +/*
> + * Return true only when kexec based kernel dump capturing method is used.
> + * This ensures all restritions applied for kdump case are not automatically
> + * applied for fadump case.
> + */
> +bool is_kdump_kernel(void)
> +{
> + return !is_fadump_active() && elfcorehdr_addr != ELFCORE_ADDR_MAX;
> +}
> +EXPORT_SYMBOL_GPL(is_kdump_kernel);
> +
> #ifdef CONFIG_PPC_RTAS
> /*
> * The crashkernel region will almost always overlap the RTAS region, so
> --
> 2.41.0
>
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: Baoquan He <bhe@redhat.com>
To: Hari Bathini <hbathini@linux.ibm.com>
Cc: linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
Kexec-ml <kexec@lists.infradead.org>,
lkml <linux-kernel@vger.kernel.org>,
Sourabh Jain <sourabhjain@linux.ibm.com>,
Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
Dave Young <dyoung@redhat.com>
Subject: Re: [PATCH v3 2/2] powerpc/fadump: make is_kdump_kernel() return false when fadump is active
Date: Thu, 14 Sep 2023 12:41:53 +0800 [thread overview]
Message-ID: <ZQKPEd09+XvnQ5RN@MiWiFi-R3L-srv> (raw)
In-Reply-To: <20230912082950.856977-2-hbathini@linux.ibm.com>
On 09/12/23 at 01:59pm, Hari Bathini wrote:
> Currently, is_kdump_kernel() returns true in crash dump capture kernel
> for both kdump and fadump crash dump capturing methods, as both these
> methods set elfcorehdr_addr. Some restrictions enforced for crash dump
> capture kernel, based on is_kdump_kernel(), are specifically meant for
> kdump case and not desirable for fadump - eg. IO queues restriction in
> device drivers. So, define is_kdump_kernel() to return false when f/w
> assisted dump is active.
>
> Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
> ---
> arch/powerpc/include/asm/kexec.h | 8 ++++++--
> arch/powerpc/kernel/crash_dump.c | 12 ++++++++++++
> 2 files changed, 18 insertions(+), 2 deletions(-)
LGTM,
Acked-by: Baoquan He <bhe@redhat.com>
>
> diff --git a/arch/powerpc/include/asm/kexec.h b/arch/powerpc/include/asm/kexec.h
> index a1ddba01e7d1..e1b43aa12175 100644
> --- a/arch/powerpc/include/asm/kexec.h
> +++ b/arch/powerpc/include/asm/kexec.h
> @@ -99,10 +99,14 @@ void relocate_new_kernel(unsigned long indirection_page, unsigned long reboot_co
>
> void kexec_copy_flush(struct kimage *image);
>
> -#if defined(CONFIG_CRASH_DUMP) && defined(CONFIG_PPC_RTAS)
> +#if defined(CONFIG_CRASH_DUMP)
> +bool is_kdump_kernel(void);
> +#define is_kdump_kernel is_kdump_kernel
> +#if defined(CONFIG_PPC_RTAS)
> void crash_free_reserved_phys_range(unsigned long begin, unsigned long end);
> #define crash_free_reserved_phys_range crash_free_reserved_phys_range
> -#endif
> +#endif /* CONFIG_PPC_RTAS */
> +#endif /* CONFIG_CRASH_DUMP */
>
> #ifdef CONFIG_KEXEC_FILE
> extern const struct kexec_file_ops kexec_elf64_ops;
> diff --git a/arch/powerpc/kernel/crash_dump.c b/arch/powerpc/kernel/crash_dump.c
> index 9a3b85bfc83f..2086fa6cdc25 100644
> --- a/arch/powerpc/kernel/crash_dump.c
> +++ b/arch/powerpc/kernel/crash_dump.c
> @@ -19,6 +19,7 @@
> #include <linux/uio.h>
> #include <asm/rtas.h>
> #include <asm/inst.h>
> +#include <asm/fadump.h>
>
> #ifdef DEBUG
> #include <asm/udbg.h>
> @@ -92,6 +93,17 @@ ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn,
> return csize;
> }
>
> +/*
> + * Return true only when kexec based kernel dump capturing method is used.
> + * This ensures all restritions applied for kdump case are not automatically
> + * applied for fadump case.
> + */
> +bool is_kdump_kernel(void)
> +{
> + return !is_fadump_active() && elfcorehdr_addr != ELFCORE_ADDR_MAX;
> +}
> +EXPORT_SYMBOL_GPL(is_kdump_kernel);
> +
> #ifdef CONFIG_PPC_RTAS
> /*
> * The crashkernel region will almost always overlap the RTAS region, so
> --
> 2.41.0
>
WARNING: multiple messages have this Message-ID (diff)
From: Baoquan He <bhe@redhat.com>
To: Hari Bathini <hbathini@linux.ibm.com>
Cc: lkml <linux-kernel@vger.kernel.org>,
linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
Kexec-ml <kexec@lists.infradead.org>,
Dave Young <dyoung@redhat.com>,
Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
Sourabh Jain <sourabhjain@linux.ibm.com>,
Michael Ellerman <mpe@ellerman.id.au>
Subject: Re: [PATCH v3 2/2] powerpc/fadump: make is_kdump_kernel() return false when fadump is active
Date: Thu, 14 Sep 2023 12:41:53 +0800 [thread overview]
Message-ID: <ZQKPEd09+XvnQ5RN@MiWiFi-R3L-srv> (raw)
In-Reply-To: <20230912082950.856977-2-hbathini@linux.ibm.com>
On 09/12/23 at 01:59pm, Hari Bathini wrote:
> Currently, is_kdump_kernel() returns true in crash dump capture kernel
> for both kdump and fadump crash dump capturing methods, as both these
> methods set elfcorehdr_addr. Some restrictions enforced for crash dump
> capture kernel, based on is_kdump_kernel(), are specifically meant for
> kdump case and not desirable for fadump - eg. IO queues restriction in
> device drivers. So, define is_kdump_kernel() to return false when f/w
> assisted dump is active.
>
> Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
> ---
> arch/powerpc/include/asm/kexec.h | 8 ++++++--
> arch/powerpc/kernel/crash_dump.c | 12 ++++++++++++
> 2 files changed, 18 insertions(+), 2 deletions(-)
LGTM,
Acked-by: Baoquan He <bhe@redhat.com>
>
> diff --git a/arch/powerpc/include/asm/kexec.h b/arch/powerpc/include/asm/kexec.h
> index a1ddba01e7d1..e1b43aa12175 100644
> --- a/arch/powerpc/include/asm/kexec.h
> +++ b/arch/powerpc/include/asm/kexec.h
> @@ -99,10 +99,14 @@ void relocate_new_kernel(unsigned long indirection_page, unsigned long reboot_co
>
> void kexec_copy_flush(struct kimage *image);
>
> -#if defined(CONFIG_CRASH_DUMP) && defined(CONFIG_PPC_RTAS)
> +#if defined(CONFIG_CRASH_DUMP)
> +bool is_kdump_kernel(void);
> +#define is_kdump_kernel is_kdump_kernel
> +#if defined(CONFIG_PPC_RTAS)
> void crash_free_reserved_phys_range(unsigned long begin, unsigned long end);
> #define crash_free_reserved_phys_range crash_free_reserved_phys_range
> -#endif
> +#endif /* CONFIG_PPC_RTAS */
> +#endif /* CONFIG_CRASH_DUMP */
>
> #ifdef CONFIG_KEXEC_FILE
> extern const struct kexec_file_ops kexec_elf64_ops;
> diff --git a/arch/powerpc/kernel/crash_dump.c b/arch/powerpc/kernel/crash_dump.c
> index 9a3b85bfc83f..2086fa6cdc25 100644
> --- a/arch/powerpc/kernel/crash_dump.c
> +++ b/arch/powerpc/kernel/crash_dump.c
> @@ -19,6 +19,7 @@
> #include <linux/uio.h>
> #include <asm/rtas.h>
> #include <asm/inst.h>
> +#include <asm/fadump.h>
>
> #ifdef DEBUG
> #include <asm/udbg.h>
> @@ -92,6 +93,17 @@ ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn,
> return csize;
> }
>
> +/*
> + * Return true only when kexec based kernel dump capturing method is used.
> + * This ensures all restritions applied for kdump case are not automatically
> + * applied for fadump case.
> + */
> +bool is_kdump_kernel(void)
> +{
> + return !is_fadump_active() && elfcorehdr_addr != ELFCORE_ADDR_MAX;
> +}
> +EXPORT_SYMBOL_GPL(is_kdump_kernel);
> +
> #ifdef CONFIG_PPC_RTAS
> /*
> * The crashkernel region will almost always overlap the RTAS region, so
> --
> 2.41.0
>
next prev parent reply other threads:[~2023-09-14 4:42 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-12 8:29 [PATCH v3 1/2] vmcore: remove dependency with is_kdump_kernel() for exporting vmcore Hari Bathini
2023-09-12 8:29 ` Hari Bathini
2023-09-12 8:29 ` Hari Bathini
2023-09-12 8:29 ` [PATCH v3 2/2] powerpc/fadump: make is_kdump_kernel() return false when fadump is active Hari Bathini
2023-09-12 8:29 ` Hari Bathini
2023-09-12 8:29 ` Hari Bathini
2023-09-14 4:41 ` Baoquan He [this message]
2023-09-14 4:41 ` Baoquan He
2023-09-14 4:41 ` Baoquan He
2023-09-14 4:40 ` [PATCH v3 1/2] vmcore: remove dependency with is_kdump_kernel() for exporting vmcore Baoquan He
2023-09-14 4:40 ` Baoquan He
2023-09-14 4:40 ` Baoquan He
2023-09-21 9:30 ` Michael Ellerman
2023-09-21 9:30 ` Michael Ellerman
2023-09-21 9:30 ` Michael Ellerman
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=ZQKPEd09+XvnQ5RN@MiWiFi-R3L-srv \
--to=bhe@redhat.com \
--cc=dyoung@redhat.com \
--cc=hbathini@linux.ibm.com \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mahesh@linux.ibm.com \
--cc=mpe@ellerman.id.au \
--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.