10-13-2020, 08:47 AM
(This post was last modified: 10-13-2020, 12:35 PM by Jojonintendo.)
Thank you both for your replies. It seems my nvme can draw as much as 6W on pstate 0. I understand it's still within spec of the PBP, but this is definitely something I need to change anyway for better battery life, etc. The changes to the dtb didn't avoid the kernel panics for me.
I have tried to set the drive to PS 2, but it doesn't get applied, the drive is consistently in PS 4, until some load actually makes it jump briefly to other states. While this confirms that APST is operational, I would like to be able to limit the PS it can use anyway. I have tried to disable it with the boot parameter "nvme_core.default_ps_max_latency_us=0", but this doesn't seem to change anything. Is there another way to disable APST? Or am I going in the wrong direction about this?
Edit: it works in the end. After setting the kernel parameter it does indeed disable APST, which by default sets the drive to its most powerful state. However after that I can correctly force the PS 2 and have a working system, no longer crashing no matter the workload (been trying to crash it for 2-3 hours now with heavy IO). Even setting it to PS 1 still works, however I don't notice any improvement in responsiveness nor peak performance, so I prefer to stay at ~3W (PS 2) vs 4.2W (PS 1). If the PBP is plugged to the wall, then I can use the PS 0 as much as i want and it doesn't crash, so it definitely was a power issue.
I have tried to set the drive to PS 2, but it doesn't get applied, the drive is consistently in PS 4, until some load actually makes it jump briefly to other states. While this confirms that APST is operational, I would like to be able to limit the PS it can use anyway. I have tried to disable it with the boot parameter "nvme_core.default_ps_max_latency_us=0", but this doesn't seem to change anything. Is there another way to disable APST? Or am I going in the wrong direction about this?
Edit: it works in the end. After setting the kernel parameter it does indeed disable APST, which by default sets the drive to its most powerful state. However after that I can correctly force the PS 2 and have a working system, no longer crashing no matter the workload (been trying to crash it for 2-3 hours now with heavy IO). Even setting it to PS 1 still works, however I don't notice any improvement in responsiveness nor peak performance, so I prefer to stay at ~3W (PS 2) vs 4.2W (PS 1). If the PBP is plugged to the wall, then I can use the PS 0 as much as i want and it doesn't crash, so it definitely was a power issue.