lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
 <TYRPR01MB1641215F974A0AD8F6F790039F5C9A@TYRPR01MB16412.jpnprd01.prod.outlook.com>
Date: Mon, 17 Nov 2025 11:36:00 +0000
From: fengtian guo <fengtian_guo@...mail.com>
To: Ingo Molnar <mingo@...hat.com>, Peter Zijlstra <peterz@...radead.org>,
	Juri Lelli <juri.lelli@...hat.com>, Vincent Guittot
	<vincent.guittot@...aro.org>, Dietmar Eggemann <dietmar.eggemann@....com>,
	Steven Rostedt <rostedt@...dmis.org>, Ben Segall <bsegall@...gle.com>, Mel
 Gorman <mgorman@...e.de>, "linux-kernel@...r.kernel.org"
	<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] cpuidle: Keep non-boot CPUs online during deep sleep to
 handle boot CPU deadlocks

I want to ask the Expert , if we have better solution for The system hangs/freezes completely after entering deep sleep ?
It's seem linux need a system function to resolve is issue
the kernel proceeds to suspend. Naturally, the WDT module is also shut down during this phase, If a hang occurs later in the suspend sequence...


Subject: System Hang During Deep Sleep on Spreadtrum 7885 (cpu 8 cores) - Suspected CPU0 Deadlock

Problem Description:
Our Spreadtrum 7885 (cpu 8 cores)  device experiences complete system hangs during
deep sleep states, phone power keys and etc no response. The system becomes
unresponsive for approximately 40 minutes and no any log and finnaly manual long forced power key for forced hardware resets.

Key Log Evidence:

>From hilog_kmsg.022.20251103-160607:
Line 8105: 11-03 16:27:58.707 <6> [24285.271346] ;-Disabling non-boot CPUs ...
Line 8208: 11-03 16:27:58.711 <6> [24285.291750] ;-Enabling non-boot CPUs ...
Line 8546: 11-03 16:27:59.765 <6> [24285.851102] ;-Disabling non-boot CPUs ...
...
Line 13573: 11-03 16:28:43.678 <6> [24292.094583] ;-Disabling non-boot CPUs ...
Line 13675: 11-03 16:28:43.679 <6> [24292.115024] ;-Enabling non-boot CPUs ...

>From hilog_kmsg.023.20251103-171330:
Last normal log entry:
11-03 16:28:43.680 <6> [24292.437838] -sprd-vpu-pd: vpu_pd_dec:vpu_pw_off OK
11-03 16:28:43.680 <6> [24292.437887] -sprd-vpu-pd: vpu_pd_enc1:vpu_pw_off OK

System reboot after 45 minutes of silence:
11-03 17:13:29.991 <6> [0.000000] -Booting Linux on physical CPU 0x0000000000 [0x412fd050]

Analysis:

1. Deep Sleep Pattern: before bug appear The system enters deep sleep for about 13 times and each deep sleep then resume in one second,
wakeup by wifi and the phone behavior as wifi hot connect for many other devices
   disabling all non-boot CPUs (CPUs 1-7), leaving only the boot CPU (CPU0) active.

2. Watchdog Vulnerability: During deep sleep:
   - Only CPU0 remains powered
   - Other CPUs cannot handle interrupts or run watchdog callback handlers
   - If CPU0 encounters a deadlock, the entire system freezes
   - Watchdog cannot detect the hang since no CPUs are available to schedule
     watchdog processes

3. Timeline:
   - 16:05:37: Deep sleep cycles begin
   - 16:28:43: Last successful log entry before hang
   - 17:13:30: System forcibly rebooted after ~45 minutes of unresponsiveness

4. Additional Context: We observe frequent GPU and WLAN sleep/wake cycles,
   but the primary issue appears related to CPU power management during deep sleep.

in my attachment Proposed Solution:

It contain patches and kernel/cpu.c file after apply patches

I recommend modifying the deep sleep implementation to keep additional CPUs
(e.g., CPU1 and CPU2) powered during deep sleep states. This would ensure:

- Watchdog processes have available CPUs for scheduling
- System can detect and recover from CPU0 deadlocks
- Maintain proper crash dump collection and system logging during hangs




BestRegards
Fengtian Guo
________________________________


Content of type "text/html" skipped

Download attachment "fengtian_cpu0_fix_patch_and_source.zip" of type "application/zip" (23431 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ