2023-06-09 08:15:34

by Song Shuai

[permalink] [raw]
Subject: [PATCH V2 0/4] 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
for ARM,arm64,riscv,xtensa architechtures.

Changes since V1:
https://lore.kernel.org/linux-riscv/[email protected]/
- supplement the case of CONFIG_PM_SLEEP_SMP=n in commit message as Will suggests

Song Shuai (4):
ARM: hibernate: remove WARN_ON in save_processor_state
arm64: hibernate: remove WARN_ON in save_processor_state
riscv: hibernate: remove WARN_ON in save_processor_state
xtensa: hibernate: remove WARN_ON in save_processor_state

arch/arm/kernel/hibernate.c | 1 -
arch/arm64/kernel/hibernate.c | 1 -
arch/riscv/kernel/hibernate.c | 1 -
arch/xtensa/kernel/hibernate.c | 1 -
4 files changed, 4 deletions(-)

--
2.20.1



2023-06-09 08:27:24

by Song Shuai

[permalink] [raw]
Subject: [PATCH V2 1/4] ARM: 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/arm/kernel/hibernate.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm/kernel/hibernate.c b/arch/arm/kernel/hibernate.c
index 2373020af965..84abccf3221a 100644
--- a/arch/arm/kernel/hibernate.c
+++ b/arch/arm/kernel/hibernate.c
@@ -33,7 +33,6 @@ int pfn_is_nosave(unsigned long pfn)

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

--
2.20.1


2023-06-21 16:31:07

by Catalin Marinas

[permalink] [raw]
Subject: Re: (subset) [PATCH V2 0/4] Remove WARN_ON in save_processor_state

On Fri, 09 Jun 2023 15:50:45 +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.
>
> [...]

Applied to arm64 (for-next/misc), thanks!

I couldn't tell whether this series would go in as a whole but given
that the patches are independent, I picked up the arm64 one.

[2/4] arm64: hibernate: remove WARN_ON in save_processor_state
https://git.kernel.org/arm64/c/615af0021a61

--
Catalin


2023-06-22 19:14:06

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: (subset) [PATCH V2 0/4] Remove WARN_ON in save_processor_state

On Wed, 21 Jun 2023 08:51:43 PDT (-0700), Catalin Marinas wrote:
> On Fri, 09 Jun 2023 15:50:45 +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.
>>
>> [...]
>
> Applied to arm64 (for-next/misc), thanks!
>
> I couldn't tell whether this series would go in as a whole but given
> that the patches are independent, I picked up the arm64 one.
>
> [2/4] arm64: hibernate: remove WARN_ON in save_processor_state
> https://git.kernel.org/arm64/c/615af0021a61

I was pretty much in the same spot until I saw this, so I'm picking the
RISC-V bit and just ignoring the rest. It's testing so it might take a bit to
land in linux-next, but seems pretty safe.

2023-06-25 23:26:09

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: (subset) [PATCH V2 0/4] Remove WARN_ON in save_processor_state


On Fri, 09 Jun 2023 15:50:45 +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.
>
> [...]

Applied, thanks!

[3/4] riscv: hibernate: remove WARN_ON in save_processor_state
https://git.kernel.org/palmer/c/91afbaafd6b1

Best regards,
--
Palmer Dabbelt <[email protected]>


Subject: Re: [PATCH V2 0/4] Remove WARN_ON in save_processor_state

Hello:

This series was applied to riscv/linux.git (for-next)
by Palmer Dabbelt <[email protected]>:

On Fri, 9 Jun 2023 15:50:45 +0800 you 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.
>
> [...]

Here is the summary with links:
- [V2,1/4] ARM: hibernate: remove WARN_ON in save_processor_state
(no matching commit)
- [V2,2/4] arm64: hibernate: remove WARN_ON in save_processor_state
(no matching commit)
- [V2,3/4] riscv: hibernate: remove WARN_ON in save_processor_state
https://git.kernel.org/riscv/c/91afbaafd6b1
- [V2,4/4] xtensa: hibernate: remove WARN_ON in save_processor_state
(no matching commit)

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html