mbox series

[V2,0/4] Remove WARN_ON in save_processor_state

Message ID 20230609075049.2651723-1-songshuaishuai@tinylab.org (mailing list archive)
Headers show
Series Remove WARN_ON in save_processor_state | expand

Message

Song Shuai June 9, 2023, 7:50 a.m. UTC
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/20230525025555.24104-1-songshuaishuai@tinylab.org/
- 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(-)

Comments

Catalin Marinas June 21, 2023, 3:51 p.m. UTC | #1
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
Palmer Dabbelt June 22, 2023, 6:28 p.m. UTC | #2
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.
Palmer Dabbelt June 25, 2023, 11:17 p.m. UTC | #3
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,
patchwork-bot+linux-riscv@kernel.org June 25, 2023, 11:20 p.m. UTC | #4
Hello:

This series was applied to riscv/linux.git (for-next)
by Palmer Dabbelt <palmer@rivosinc.com>:

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!