libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’… libnvme(9) β€” the API Manual, but make it make sense

okay so bestie, welcome to libnvme(9) β€” yes, that's the section 9 of the API Manual, kernel/API territory, we're in the big leagues now πŸŽ€. Today's episode: a tiny little enum that decides how much power your NVMe controller is sipping and whether it's actually doing its job. main character energy for real.


✨ NAME ✨

enum nvme_psd_flags β€” the possible flag values that live inside an nvme power state descriptor πŸ‘‘

like, the descriptor has flags, and these are them. that's the whole vibe. no cap.


🌸 SYNOPSIS 🌸

enum nvme_psd_flags {
    NVME_PSD_FLAGS_MXPS ,
    NVME_PSD_FLAGS_NOPS

};

look at her. two constants. iconic. πŸ’–


πŸ¦‹ Constants πŸ¦‹

  • NVME_PSD_FLAGS_MXPS β€” this one is literally the scale for the Maximum Power field πŸ”₯. if this bit is cleared, then the scale of the Maximum Power field is in 0.01 Watts. if this bit is set, then the scale of the Maximum Power field is in 0.0001 Watts. so it's giving "which unit are we even in" energy β€” read it carefully before you do math, i'm begging πŸ™ˆ.
  • NVME_PSD_FLAGS_NOPS β€” this one tells you whether the controller actually processes I/O commands in this power state 😭. if this bit is cleared, then the controller does process I/O commands in this power state. if this bit is set, then the controller does not process I/O commands in this power state. so like… set = napping, not working. sweet dreams bestie πŸ’€.
ngl the naming is a little gremlin-coded (NOPS = set means NO processing, cleared means processing), so double-check your bit logic before you ship it. the manpage says what it says, and we do not invent extra behaviour here 🫢.

that's the whole page, fr fr β€” two flags, four outcomes, zero drama ✨ keep your scales straight and your power states honest, and you'll slay πŸ’…

β€” signing off from libnvme(9), the enum nvme_psd_flags page, dated October 2026, brought to you by the API Manual 🌈

πŸ“¦ where this page comes from