libnvme(2)
๐ libnvme โ struct nvme_id_psd ๐
okay bestie, so this is a page from the API Manual for libnvme, manual section 2 (that's the syscall/library-functions girlies ๐ซถ). We're talking about one very specific little struct today and honestly? It's giving power management. Let's get into it. โจ
๐ธ NAME ๐ธ
struct nvme_id_psd โ the Power Management data structure. that's her. that's the whole vibe. ๐
โจ SYNOPSIS โจ
here's the shape of her, no cap, character for character:
struct nvme_id_psd {
__le16 mp;
__u8 rsvd2;
__u8 flags;
__le32 enlat;
__le32 exlat;
__u8 rrt;
__u8 rrl;
__u8 rwt;
__u8 rwl;
__le16 idlp;
__u8 ips;
__u8 rsvd19;
__le16 actp;
__u8 apws;
__u8 epfrt;
__u8 fqvt;
__u8 epfvt;
__u8 epfr_fqv_ts;
__u8 epfvts;
__u8 rsvd28[4];
};
๐ Members ๐
okay so here's the full roster, every single one, we do NOT skip anyone in this house ๐ :
mpโ Maximum Power. It's the sustained maximum power the NVM subsystem eats up in this power state. To get actual Watts you take the value in this field and multiply it by the scale that the Max Power Scale bit gives you (peepenum nvme_psd_flags). If it's0, that means Maximum Power just... isn't reported. ๐คทโ๏ธrsvd2โ Reserved. nothing to see here bestie, move along ๐ถโ๏ธflagsโ extra decoding flags, go look atenum nvme_psd_flags. ๐ฉenlatโ Entry Latency. The max latency, in microseconds, that comes with entering this power state.0means Entry Latency is not reported. ๐ชexlatโ Exit Latency. The max latency, in microseconds, that comes with exiting this power state.0means Exit Latency is not reported. ๐โ๏ธrrtโ Relative Read Throughput. The read throughput rank of this power state compared to the others. The value in here is less than the number of supported power states. ๐rrlโ Relative Read Latency. The read latency rank of this power state compared to the others. Value here is less than the number of supported power states. โฑ๏ธrwtโ Relative Write Throughput. The write throughput rank of this power state compared to the others. Value here is less than the number of supported power states. โ๏ธrwlโ Relative Write Latency. The write latency rank of this power state compared to the others. Value here is less than the number of supported power states. โidlpโ Idle Power. The typical power the NVM subsystem consumes over 30 seconds in this power state while it's just chilling, idle. ๐ดipsโ Idle Power Scale. It's the scale forstruct nvme_id_psd.idlpโ checkenum nvme_psd_psto decode this field. ๐rsvd19โ Reserved. again. yes. ๐ซฅactpโ Active Power. The largest average power the NVM subsystem consumes over a 10 second period in this power state, with whatever workload is named in the Active Power Workload field. ๐ฅapwsโ Bits 7-6: Active Power Scale (APS) โ the scale forstruct nvme_id_psd.actp, seeenum nvme_psd_psfor decoding this value. Bits 2-0: Active Power Workload (APW) โ the workload used to calculate maximum power for this power state, seeenum nvme_psd_workloadfor decoding this field. ๐งฎepfrtโ Emergency power fail recovery time. ๐จfqvtโ Forced quiescence vault time. ๐คซepfvtโ Emergency power fail vault time. ๐epfr_fqv_tsโ Bits 7-4: Forced quiescence vault time scale. Bits 3-0: Emergency power fail recovery time scale. ๐๏ธepfvtsโ Bits 3-0: Emergency power fail vault time scale. ๐๏ธrsvd28โ Reserved. bestie the reserved fields are EVERYWHERE and honestly? iconic of them. ๐
no warnings, no bugs, no exit statuses on this one โ it's just a struct and all her little fields. pure vibes, pure data. ๐
and that's the whole page, bestie!! every field, every enum, every "less than the number of supported power states", all of it. you now know struct nvme_id_psd better than she knows herself. periodt. ๐
this lil legend came from the struct nvme_id_psd page in the libnvme manual, section 2, dated July 2026. take care of her, she's fragile (she's a struct with a bunch of Reserved fields and she's doing her best). ๐โจ๐ฆ
๐ฆ where this page comes from
- ubuntu stonking: libnvme-dev 1.16.2-1build1 ยท LGPL-2.1-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms