I've almost gone crazy with the system random freezes!

Odd that needs a package …

https://wiki.archlinux.org/title/Ryzen#Soft_lock_freezing

Ex:

rcu_nocbs=0-15

or

processor.max_cstate=5

Though there is this:

So it seems possible that for some reason or another the package may be needed. Though I have not seen such an example, and the reference is a bit cryptic.

I think this may be because AMD’s default boot parameter support on Linux isn’t great… After all, this issue has been around for 6 years and still appears on the latest CPUs. So, the only option seems to be to disable the C6 state through a different method during boot. Given that someone has tried configuring this parameter without success, I will try it later today and observe if any issues arise. When I’m at home, this problem almost always occurs, but interestingly, it rarely happens when I bring the computer to the office. Perhaps it’s because the power consumption isn’t as “low” at the office. :upside_down_face:

I have not had to apply such fixes on my 5600u
Though I did take care to apply this:
https://wiki.archlinux.org/title/Lenovo_IdeaPad_5_Pro_14ACN6#Solution:_Enabling_S3_sleep_on_advanced_BIOS
(under “advanced” bios options that need to be unlocked as shown in the link)
Which is about not being able to enter sleep correctly, but I suppose it could have other implications.

I hava try to add processor.max_cstate=5 to GRUB_CMDLINE_LINUX, but it’s not useful. C6 is still enable.
image

When done, did you update initial ramdisk?

sudo mkinitcpio -P

And then update grub?

sudo update-grub

oh, I just run one of them

sudo update-grub

I will try another

like this:

# sudo zenstates -l                                                                                                                                                                            P0 - Enabled - FID = 80 - DID = 8 - VID = 35 - Ratio = 32.00 - vCore = 1.21875
P1 - Enabled - FID = 5B - DID = E - VID = 60 - Ratio = 13.00 - vCore = 0.95000
P2 - Enabled - FID = 60 - DID = 10 - VID = 66 - Ratio = 12.00 - vCore = 0.91250
P3 - Disabled
P4 - Disabled
P5 - Disabled
P6 - Disabled
P7 - Disabled
C6 State - Package - Enabled
C6 State - Core - Enabled
# history                                                                                                                                                                               
 1323  sudo mkinitcpio -P
 1324  sudo update-grub
 1329  sudo systemctl status disable-c6.service
 1330  sudo systemctl disable disable-c6.service
 1331  sudo zenstates -l

I think that method is really ineffective :upside_down_face:

Why? Seems fine for me. The systemd service should run at every boot, AFAIK:

sudo systemctl enable --now disable-c6.service

What I mean is that just configuring processor.max_cstate=5 does not work, but only using disable-c6.service does. So I turned off disable-c6.service in order to test processor.max_cstate=5.
Oh, by the way, after I executed sudo mkinitcpio -P, the startup screen was no longer the interface I configured. It was replaced by a small circle, but the shutdown interface still took effect. Is there a solution for this?

I honestly don’t know. a Better idea would be to ask on the forum.

If using only disable-c6.service works, then stick to it…

at least on my system i decided software was a bad way to do this since my b650 has an option to disable cstates in the power efficiency section, cheers

Was the point of your comment to encourage the OP to check his BIOS for a similar setting; as a possible workaround?

But unfortunately, my laptop’s bios does not have advanced functions and can only display some very low-level parts.

The likelihood of recent system freezes has reduced significantly, but it still occurs at night. It seems that disabling C6 through software during boot isn’t a complete solution.

Through some further searches, I found the following articles: ADM Ryzon processor random “freeze” issue, AMD Ryzen CPU random “freeze”, AMD Ryzen 2700X + CentOS 7 random freeze problem.

Based on various descriptions in those articles, the solution is as follows:

  1. If your BIOS supports disabling CPU power management, you should do so in the BIOS.
  2. Add idle=nomwait to the kernel parameters.
  3. Add processor.max_cstate=1 intel_idle.max_cstate=0 to the kernel parameters.
  4. After updating the kernel parameters, manually execute sudo update-grub to update the configuration.

You can check the max_cstate value with the following command before making changes; the value is 9 by default.

cat /sys/module/intel_idle/parameters/max_cstate

Modify the kernel boot parameters by using sudo nano /etc/default/grub.

You can view the kernel boot parameters using cat /proc/cmdline.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.