2023-06-09 08:07:11

by Song Shuai

[permalink] [raw]
Subject: [PATCH V2 2/4] arm64: hibernate: remove WARN_ON in save_processor_state

During hibernation or restoration, freeze_secondary_cpus
checks num_online_cpus via BUG_ON, and the subsequent
save_processor_state also does the checking with WARN_ON.

In the case of CONFIG_PM_SLEEP_SMP=n, freeze_secondary_cpus
is not defined, but the sole possible condition to disable
CONFIG_PM_SLEEP_SMP is !SMP where num_online_cpus is always 1.
We also don't have to check it in save_processor_state.

So remove the unnecessary checking in save_processor_state.

Signed-off-by: Song Shuai <[email protected]>
---
arch/arm64/kernel/hibernate.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm64/kernel/hibernate.c b/arch/arm64/kernel/hibernate.c
index 788597a6b6a2..02870beb271e 100644
--- a/arch/arm64/kernel/hibernate.c
+++ b/arch/arm64/kernel/hibernate.c
@@ -99,7 +99,6 @@ int pfn_is_nosave(unsigned long pfn)

void notrace save_processor_state(void)
{
- WARN_ON(num_online_cpus() != 1);
}

void notrace restore_processor_state(void)
--
2.20.1



2023-06-09 11:06:36

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH V2 2/4] arm64: hibernate: remove WARN_ON in save_processor_state

On Fri, Jun 09, 2023 at 03:50:47PM +0800, Song Shuai wrote:
> During hibernation or restoration, freeze_secondary_cpus
> checks num_online_cpus via BUG_ON, and the subsequent
> save_processor_state also does the checking with WARN_ON.
>
> In the case of CONFIG_PM_SLEEP_SMP=n, freeze_secondary_cpus
> is not defined, but the sole possible condition to disable
> CONFIG_PM_SLEEP_SMP is !SMP where num_online_cpus is always 1.
> We also don't have to check it in save_processor_state.
>
> So remove the unnecessary checking in save_processor_state.
>
> Signed-off-by: Song Shuai <[email protected]>
> ---
> arch/arm64/kernel/hibernate.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/arch/arm64/kernel/hibernate.c b/arch/arm64/kernel/hibernate.c
> index 788597a6b6a2..02870beb271e 100644
> --- a/arch/arm64/kernel/hibernate.c
> +++ b/arch/arm64/kernel/hibernate.c
> @@ -99,7 +99,6 @@ int pfn_is_nosave(unsigned long pfn)
>
> void notrace save_processor_state(void)
> {
> - WARN_ON(num_online_cpus() != 1);
> }
>
> void notrace restore_processor_state(void)

Acked-by: Will Deacon <[email protected]>

Thanks!

Will