All of lore.kernel.org
 help / color / mirror / Atom feed
From: Baoquan He <bhe@redhat.com>
To: Zhen Lei <thunder.leizhen@huawei.com>
Cc: Dave Young <dyoung@redhat.com>, Vivek Goyal <vgoyal@redhat.com>,
	kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	Jonathan Corbet <corbet@lwn.net>,
	linux-doc@vger.kernel.org,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Feng Zhou <zhoufeng.zf@bytedance.com>,
	Kefeng Wang <wangkefeng.wang@huawei.com>,
	Chen Zhou <dingguo.cz@antgroup.com>,
	John Donnelly <John.p.donnelly@oracle.com>,
	Dave Kleikamp <dave.kleikamp@oracle.com>
Subject: Re: [PATCH] arm64: kdump: Do not allocate crash low memory if not needed
Date: Wed, 11 May 2022 17:06:51 +0800	[thread overview]
Message-ID: <Ynt8qwG9WoiW4L+o@MiWiFi-R3L-srv> (raw)
In-Reply-To: <20220511032033.426-1-thunder.leizhen@huawei.com>

On 05/11/22 at 11:20am, Zhen Lei wrote:
> When "crashkernel=X,high" is specified, the specified "crashkernel=Y,low"
> memory is not required in the following corner cases:
> 1. If both CONFIG_ZONE_DMA and CONFIG_ZONE_DMA32 are disabled, it means
>    that the devices can access any memory.
> 2. If the system memory is small, the crash high memory may be allocated
>    from the DMA zones. If that happens, there's no need to allocate
>    another crash low memory because there's already one.
> 
> Add condition '(crash_base >= CRASH_ADDR_LOW_MAX)' to determine whether
> the 'high' memory is allocated above DMA zones. Note: when both
> CONFIG_ZONE_DMA and CONFIG_ZONE_DMA32 are disabled, the entire physical
> memory is DMA accessible, CRASH_ADDR_LOW_MAX equals 'PHYS_MASK + 1'.
> 
> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
> ---
>  Documentation/admin-guide/kernel-parameters.txt | 5 +++--
>  arch/arm64/mm/init.c                            | 3 ++-
>  2 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index f6ff55840751a78..1b543c3109f4851 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -823,7 +823,7 @@
>  			low memory is needed to make sure DMA buffers for 32-bit
>  			devices won't run out. Kernel would try to allocate
>  			at least 256M below 4G automatically.
> -			This one let user to specify own low range under 4G
> +			This one lets the user specify own low range under 4G
                        ~ This one let users specify own low range ...

Other than this nitpick, LGTM

Acked-by: Baoquan He <bhe@redhat.com>

>  			for second kernel instead.
>  			0: to disable low allocation.
>  			It will be ignored when crashkernel=X,high is not used
> @@ -832,7 +832,8 @@
>  			[KNL, ARM64] range in low memory.
>  			This one lets the user specify a low range in the
>  			DMA zone for the crash dump kernel.
> -			It will be ignored when crashkernel=X,high is not used.
> +			It will be ignored when crashkernel=X,high is not used
> +			or memory reserved is located in the DMA zones.
>  
>  	cryptomgr.notests
>  			[KNL] Disable crypto self-tests
> diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
> index 18ba66c90991ea0..ac510fb6a2c0189 100644
> --- a/arch/arm64/mm/init.c
> +++ b/arch/arm64/mm/init.c
> @@ -170,7 +170,8 @@ static void __init reserve_crashkernel(void)
>  		return;
>  	}
>  
> -	if (crash_low_size && reserve_crashkernel_low(crash_low_size)) {
> +	if ((crash_base >= CRASH_ADDR_LOW_MAX) &&
> +	     crash_low_size && reserve_crashkernel_low(crash_low_size)) {
>  		memblock_phys_free(crash_base, crash_size);
>  		return;
>  	}
> -- 
> 2.25.1
> 


WARNING: multiple messages have this Message-ID (diff)
From: Baoquan He <bhe@redhat.com>
To: Zhen Lei <thunder.leizhen@huawei.com>
Cc: Dave Young <dyoung@redhat.com>, Vivek Goyal <vgoyal@redhat.com>,
	kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	Jonathan Corbet <corbet@lwn.net>,
	linux-doc@vger.kernel.org,
	"Eric W . Biederman" <ebiederm@xmission.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Feng Zhou <zhoufeng.zf@bytedance.com>,
	Kefeng Wang <wangkefeng.wang@huawei.com>,
	Chen Zhou <dingguo.cz@antgroup.com>,
	John Donnelly <John.p.donnelly@oracle.com>,
	Dave Kleikamp <dave.kleikamp@oracle.com>
Subject: Re: [PATCH] arm64: kdump: Do not allocate crash low memory if not needed
Date: Wed, 11 May 2022 17:06:51 +0800	[thread overview]
Message-ID: <Ynt8qwG9WoiW4L+o@MiWiFi-R3L-srv> (raw)
In-Reply-To: <20220511032033.426-1-thunder.leizhen@huawei.com>

On 05/11/22 at 11:20am, Zhen Lei wrote:
> When "crashkernel=X,high" is specified, the specified "crashkernel=Y,low"
> memory is not required in the following corner cases:
> 1. If both CONFIG_ZONE_DMA and CONFIG_ZONE_DMA32 are disabled, it means
>    that the devices can access any memory.
> 2. If the system memory is small, the crash high memory may be allocated
>    from the DMA zones. If that happens, there's no need to allocate
>    another crash low memory because there's already one.
> 
> Add condition '(crash_base >= CRASH_ADDR_LOW_MAX)' to determine whether
> the 'high' memory is allocated above DMA zones. Note: when both
> CONFIG_ZONE_DMA and CONFIG_ZONE_DMA32 are disabled, the entire physical
> memory is DMA accessible, CRASH_ADDR_LOW_MAX equals 'PHYS_MASK + 1'.
> 
> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
> ---
>  Documentation/admin-guide/kernel-parameters.txt | 5 +++--
>  arch/arm64/mm/init.c                            | 3 ++-
>  2 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index f6ff55840751a78..1b543c3109f4851 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -823,7 +823,7 @@
>  			low memory is needed to make sure DMA buffers for 32-bit
>  			devices won't run out. Kernel would try to allocate
>  			at least 256M below 4G automatically.
> -			This one let user to specify own low range under 4G
> +			This one lets the user specify own low range under 4G
                        ~ This one let users specify own low range ...

Other than this nitpick, LGTM

Acked-by: Baoquan He <bhe@redhat.com>

>  			for second kernel instead.
>  			0: to disable low allocation.
>  			It will be ignored when crashkernel=X,high is not used
> @@ -832,7 +832,8 @@
>  			[KNL, ARM64] range in low memory.
>  			This one lets the user specify a low range in the
>  			DMA zone for the crash dump kernel.
> -			It will be ignored when crashkernel=X,high is not used.
> +			It will be ignored when crashkernel=X,high is not used
> +			or memory reserved is located in the DMA zones.
>  
>  	cryptomgr.notests
>  			[KNL] Disable crypto self-tests
> diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
> index 18ba66c90991ea0..ac510fb6a2c0189 100644
> --- a/arch/arm64/mm/init.c
> +++ b/arch/arm64/mm/init.c
> @@ -170,7 +170,8 @@ static void __init reserve_crashkernel(void)
>  		return;
>  	}
>  
> -	if (crash_low_size && reserve_crashkernel_low(crash_low_size)) {
> +	if ((crash_base >= CRASH_ADDR_LOW_MAX) &&
> +	     crash_low_size && reserve_crashkernel_low(crash_low_size)) {
>  		memblock_phys_free(crash_base, crash_size);
>  		return;
>  	}
> -- 
> 2.25.1
> 


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Baoquan He <bhe@redhat.com>
To: kexec@lists.infradead.org
Subject: [PATCH] arm64: kdump: Do not allocate crash low memory if not needed
Date: Wed, 11 May 2022 17:06:51 +0800	[thread overview]
Message-ID: <Ynt8qwG9WoiW4L+o@MiWiFi-R3L-srv> (raw)
In-Reply-To: <20220511032033.426-1-thunder.leizhen@huawei.com>

On 05/11/22 at 11:20am, Zhen Lei wrote:
> When "crashkernel=X,high" is specified, the specified "crashkernel=Y,low"
> memory is not required in the following corner cases:
> 1. If both CONFIG_ZONE_DMA and CONFIG_ZONE_DMA32 are disabled, it means
>    that the devices can access any memory.
> 2. If the system memory is small, the crash high memory may be allocated
>    from the DMA zones. If that happens, there's no need to allocate
>    another crash low memory because there's already one.
> 
> Add condition '(crash_base >= CRASH_ADDR_LOW_MAX)' to determine whether
> the 'high' memory is allocated above DMA zones. Note: when both
> CONFIG_ZONE_DMA and CONFIG_ZONE_DMA32 are disabled, the entire physical
> memory is DMA accessible, CRASH_ADDR_LOW_MAX equals 'PHYS_MASK + 1'.
> 
> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
> ---
>  Documentation/admin-guide/kernel-parameters.txt | 5 +++--
>  arch/arm64/mm/init.c                            | 3 ++-
>  2 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index f6ff55840751a78..1b543c3109f4851 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -823,7 +823,7 @@
>  			low memory is needed to make sure DMA buffers for 32-bit
>  			devices won't run out. Kernel would try to allocate
>  			at least 256M below 4G automatically.
> -			This one let user to specify own low range under 4G
> +			This one lets the user specify own low range under 4G
                        ~ This one let users specify own low range ...

Other than this nitpick, LGTM

Acked-by: Baoquan He <bhe@redhat.com>

>  			for second kernel instead.
>  			0: to disable low allocation.
>  			It will be ignored when crashkernel=X,high is not used
> @@ -832,7 +832,8 @@
>  			[KNL, ARM64] range in low memory.
>  			This one lets the user specify a low range in the
>  			DMA zone for the crash dump kernel.
> -			It will be ignored when crashkernel=X,high is not used.
> +			It will be ignored when crashkernel=X,high is not used
> +			or memory reserved is located in the DMA zones.
>  
>  	cryptomgr.notests
>  			[KNL] Disable crypto self-tests
> diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
> index 18ba66c90991ea0..ac510fb6a2c0189 100644
> --- a/arch/arm64/mm/init.c
> +++ b/arch/arm64/mm/init.c
> @@ -170,7 +170,8 @@ static void __init reserve_crashkernel(void)
>  		return;
>  	}
>  
> -	if (crash_low_size && reserve_crashkernel_low(crash_low_size)) {
> +	if ((crash_base >= CRASH_ADDR_LOW_MAX) &&
> +	     crash_low_size && reserve_crashkernel_low(crash_low_size)) {
>  		memblock_phys_free(crash_base, crash_size);
>  		return;
>  	}
> -- 
> 2.25.1
> 



  reply	other threads:[~2022-05-11  9:07 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-11  3:20 [PATCH] arm64: kdump: Do not allocate crash low memory if not needed Zhen Lei
2022-05-11  3:20 ` Zhen Lei
2022-05-11  3:20 ` Zhen Lei
2022-05-11  9:06 ` Baoquan He [this message]
2022-05-11  9:06   ` Baoquan He
2022-05-11  9:06   ` Baoquan He
2022-05-11  9:50   ` Leizhen (ThunderTown)
2022-05-11  9:50     ` Leizhen
2022-05-11  9:50     ` Leizhen (ThunderTown)
2022-05-11 10:06     ` Baoquan He
2022-05-11 10:06       ` Baoquan He
2022-05-11 10:06       ` Baoquan He
2022-05-16 19:06 ` Catalin Marinas
2022-05-16 19:06   ` Catalin Marinas
2022-05-16 19:06   ` Catalin Marinas

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=Ynt8qwG9WoiW4L+o@MiWiFi-R3L-srv \
    --to=bhe@redhat.com \
    --cc=John.p.donnelly@oracle.com \
    --cc=catalin.marinas@arm.com \
    --cc=corbet@lwn.net \
    --cc=dave.kleikamp@oracle.com \
    --cc=dingguo.cz@antgroup.com \
    --cc=dyoung@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=kexec@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=thunder.leizhen@huawei.com \
    --cc=vgoyal@redhat.com \
    --cc=wangkefeng.wang@huawei.com \
    --cc=will@kernel.org \
    --cc=zhoufeng.zf@bytedance.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.