libnvme(2)

πŸ’– NAME πŸ’–

enum nvme_psd_workload β€” bestie, this is the workload hint. It lives in the Power Management Feature (peep &struct nvme_psd.apw) and its whole job is to tell the NVM subsystem what's up, or to spell out the conditions for whichever active power level we're vibing with. It's giving "here's the drama, now handle it." πŸ‘‘


✨ SYNOPSIS ✨

enum nvme_psd_workload {
    NVME_PSD_WORKLOAD_NP ,
    NVME_PSD_WORKLOAD_1 ,
    NVME_PSD_WORKLOAD_2

};

Like. Three of them. That's the whole roster. 🌸


πŸŽ€ Constants πŸŽ€

okay so let's meet the girls one by one πŸ’…

  • NVME_PSD_WORKLOAD_NP β€” no thoughts, head empty, workload unknown. Either nobody provided one or it's just… not a thing here. πŸ™ˆ
  • NVME_PSD_WORKLOAD_1 β€” Extended Idle Period with a Burst of Random Write, and the name really said what it said. Here's the recipe, fr fr: five minutes of idle, then thirty-two random write commands of size 1 MiB submitted to a single controller while all other controllers in the NVM subsystem are idle, and then thirty (30) seconds of idle to let it all simmer. 😌✨
  • NVME_PSD_WORKLOAD_2 β€” Heavy Sequential Writes, aka main character energy. This one is 80,000 sequential write commands of size 128 KiB submitted to a single controller while all other controllers in the NVM subsystem are idle. And lowkey important: the submission queue(s) should be sufficiently large, so the host can make sure there are multiple commands pending at all times during the workload. No gaps, no dead air, the queue stays booked and busy. πŸ”₯
ngl bestie, these two workloads are specific. Like, down to the byte and the second. Don't freestyle it β€” the numbers are the numbers. 🫢

and that's the whole page, periodt πŸ’œ

this little love letter to workload hints came to you from the API Manual of libnvme, dated July 2026, filed under libnvme(2) β€” and yes, enum nvme_psd_workload is the moment, the myth, the legend. bye bestie, go submit some commands responsibly πŸ¦‹πŸŽ€β­

πŸ“¦ where this page comes from