Date: Mon, 23 Sep 2024 09:40:15 +0000 From: Alexey Sukhoguzov <mail@eseipi.net> To: freebsd-hackers@freebsd.org Subject: nvme(4): some non-operational power states are broken Message-ID: <ZvE3f_gTC4D6TqBe@eseipi.net>
next in thread | raw e-mail | index | archive | help
Hi, My NVMe controller is Toshiba XG5, and it has 6 power states: the first three (0-2) are normal and the last three (3-5) are NOPS. Here is 'nvmecontrol power -l nvme0' output: # Max pwr Enter Lat Exit Lat RT RL WT WL Idle Pwr Act Pwr Workloadd -- -------- --------- --------- -- -- -- -- -------- -------- -- 0: 8.0000W 0.000ms 0.000ms 0 0 0 0 0.0000W 0.0000W 0 1: 3.9000W 0.000ms 0.000ms 1 1 1 1 0.0000W 0.0000W 0 2: 2.0000W 0.000ms 0.000ms 2 2 2 2 0.0000W 0.0000W 0 3: 0.0500W* 1.500ms 1.500ms 3 3 3 3 0.0000W 0.0000W 0 4: 0.0050W* 6.000ms 14.000ms 4 4 4 4 0.0000W 0.0000W 0 5: 0.0030W* 50.000ms 80.000ms 5 5 5 5 0.0000W 0.0000W 0 The problem is that only one of the NOPS is working as expected (state 3). Another two (states 4-5) skyrocket the controller's power consumption far beyond normal (0-2) power states do, and far beyond reasonable. For example, when the controller is in state 3, my system consumes about 3-3.5 W at idle (according to acpiconf with laptop power cable unplugged), in states 0-2 - about 4 W, and in states 4-5 consumption is approaching 6 W. Thus, the NVMe becomes the hottest part of the system (>50C, still idle), and it eats up almost half of the battery alone. Linux doesn't have this issue, so it seems to be nvme(4) related. All the above data is collected on 14.1-RELEASE Live USB with no filesystem mounted. 15-CURRENT has the same problem. Any ideas what it might be? Regards, Alexey
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ZvE3f_gTC4D6TqBe>