I undervolted my CPU about a year ago and haven't had any issues with it till now. I've been dual booting Linux recently and noticed whenever I was in Linux it would crash/reboot after a couple of hours or less of using it. I noticed the behavior was similar to when I set the voltages too low when initially setting up the undervolt so I disabled it and haven't had any crashed since. Any idea why it would be stable on Windows but not Linux? I tried a couple of different distros as well. I'll probably just raise the voltage until I get it stable again but I'm interested to know what could cause this! If its relevant my CPU is a Ryzen 7 3800x
What kernel version are you running? I'm no expert but I'm pretty sure that Windows and Linux handle Ryzen power states differently, as there have been some changes to the kernel recently to improve power state handling on AMD. I don't know whether the latest kernel would fix the issue but might be worth a try to rule that out.
I'm on 6.4.12 so not the very latest but close. You did make me think to check the CPU frequency scaling though and I've spotted a couple of things it could be. I seem to be using the acpi-cpufreq driver rather than amd_pstate, not sure if its worth switching over? It also seems to be set to keep the frequency between 2.2-3.9GHz whereas on Windows my CPU almost always boosts to around 4.2-4.3. I might change that if I notice any performance issues but tbh I might leave it for now and see how things go. It might run a bit cooler if its not always boosting and I can probably still undervolt just not by as much
Stable overclock on windows doesnt mean it will be stable on linux. I have intel CPU, but almost the same experience. I had to find different voltage and clock (I went from 4.8 to 4.7 GHZ)