libnvme(9)
β¨ libnvme β the manual page, but make it a group chat β¨
okay bestie, sit down, hydrate, because we're reading a page straight out of the libnvme API manual π (that's the manual name, it's on every single page, iconic of it honestly).
πΈ NAME πΈ
enum nvme_feat_perfc_r4karl β the standard performance attribute for random 4 KiB average latency. yes it's a whole mouthful, no we are not shortening it, it's a type name, it has rights. π
π¦ SYNOPSIS π¦
here's the whole enum, exactly as it lives, no edits, no vibes-based rearranging:
enum nvme_feat_perfc_r4karl {
NVME_FEAT_PERFC_R4KARL_NO_REPORT ,
NVME_FEAT_PERFC_R4KARL_GE_100_SEC ,
NVME_FEAT_PERFC_R4KARL_GE_50_SEC ,
NVME_FEAT_PERFC_R4KARL_GE_10_SEC ,
NVME_FEAT_PERFC_R4KARL_GE_5_SEC ,
NVME_FEAT_PERFC_R4KARL_GE_1_SEC ,
NVME_FEAT_PERFC_R4KARL_GE_500_MS ,
NVME_FEAT_PERFC_R4KARL_GE_100_MS ,
NVME_FEAT_PERFC_R4KARL_GE_50_MS ,
NVME_FEAT_PERFC_R4KARL_GE_10_MS ,
NVME_FEAT_PERFC_R4KARL_GE_5_MS ,
NVME_FEAT_PERFC_R4KARL_GE_1_MS ,
NVME_FEAT_PERFC_R4KARL_GE_500_US ,
NVME_FEAT_PERFC_R4KARL_GE_100_US ,
NVME_FEAT_PERFC_R4KARL_GE_50_US ,
NVME_FEAT_PERFC_R4KARL_GE_10_US ,
NVME_FEAT_PERFC_R4KARL_GE_5_US ,
NVME_FEAT_PERFC_R4KARL_GE_1_US ,
NVME_FEAT_PERFC_R4KARL_GE_500_NS ,
NVME_FEAT_PERFC_R4KARL_GE_100_NS ,
NVME_FEAT_PERFC_R4KARL_GE_50_NS ,
NVME_FEAT_PERFC_R4KARL_GE_10_NS ,
NVME_FEAT_PERFC_R4KARL_GE_5_NS ,
NVME_FEAT_PERFC_R4KARL_GE_1_NS
};
(yes the blank line before the closing brace is staying, it's part of the lore π«Ά)
π Constants π
okay so the way this works: it's a bucket system. each constant is a little bucket, and the bucket tells you which latency range the random 4 KiB average latency falls into. going from "not even reporting" all the way down to nanoseconds, which is giving microscopic, giving unhinged precision, and we love that for it. π
π the top of the ladder β seconds
NVME_FEAT_PERFC_R4KARL_NO_REPORTβ not reported. the void. the shrug. no data bestie. πNVME_FEAT_PERFC_R4KARL_GE_100_SECβ greater than or equal to 100 secs. that's over a minute and a half, praying for you πNVME_FEAT_PERFC_R4KARL_GE_50_SECβ greater than or equal to 50 secs and less than 100 secsNVME_FEAT_PERFC_R4KARL_GE_10_SECβ greater than or equal to 10 secs and less than 50 secsNVME_FEAT_PERFC_R4KARL_GE_5_SECβ greater than or equal to 5 secs and less than 10 secsNVME_FEAT_PERFC_R4KARL_GE_1_SECβ greater than or equal to 1 sec and less than 5 secs
π milliseconds era
NVME_FEAT_PERFC_R4KARL_GE_500_MSβ greater than or equal to 500 msecs and less than 1 secNVME_FEAT_PERFC_R4KARL_GE_100_MSβ greater than or equal to 100 msecs and less than 500 msecsNVME_FEAT_PERFC_R4KARL_GE_50_MSβ greater than or equal to 50 msecs and less than 100 msecsNVME_FEAT_PERFC_R4KARL_GE_10_MSβ greater than or equal to 10 msecs and less than 50 msecsNVME_FEAT_PERFC_R4KARL_GE_5_MSβ greater than or equal to 5 msecs and less than 10 msecsNVME_FEAT_PERFC_R4KARL_GE_1_MSβ greater than or equal to 1 msec and less than 5 msecs
π§ microseconds, we're getting fancy
NVME_FEAT_PERFC_R4KARL_GE_500_USβ greater than or equal to 500 usecs and less than 1 msecNVME_FEAT_PERFC_R4KARL_GE_100_USβ greater than or equal to 100 usecs and less than 500 usecsNVME_FEAT_PERFC_R4KARL_GE_50_USβ greater than or equal to 50 usecs and less than 100 usecsNVME_FEAT_PERFC_R4KARL_GE_10_USβ greater than or equal to 10 usecs and less than 50 usecsNVME_FEAT_PERFC_R4KARL_GE_5_USβ greater than or equal to 5 usecs and less than 10 usecsNVME_FEAT_PERFC_R4KARL_GE_1_USβ greater than or equal to 1 usec and less than 5 usecs
β nanoseconds, the main character energy tier
NVME_FEAT_PERFC_R4KARL_GE_500_NSβ greater than or equal to 500 nsecs and less than 1 usecNVME_FEAT_PERFC_R4KARL_GE_100_NSβ greater than or equal to 100 nsecs and less than 500 nsecsNVME_FEAT_PERFC_R4KARL_GE_50_NSβ greater than or equal to 50 nsecs and less than 100 nsecsNVME_FEAT_PERFC_R4KARL_GE_10_NSβ greater than or equal to 10 nsecs and less than 50 nsecsNVME_FEAT_PERFC_R4KARL_GE_5_NSβ greater than or equal to 5 nsecs and less than 10 nsecsNVME_FEAT_PERFC_R4KARL_GE_1_NSβ greater than or equal to 1 nsec and less than 5 nsecs
lowkey the whole enum is just "which speed bucket are we in" and every single bucket has a floor and a ceiling. no overlaps, no gaps, no drama. periodt. π
and that's the page!! every constant present and accounted for, nothing skipped, nothing invented, we ate and left no crumbs π₯ this one was filed under libnvme(9) in the API Manual, dated August 2026, and the page name is enum nvme_feat_perfc_r4karl. go forth and bucket your latencies, bestie πβ¨π
π¦ where this page comes from
- fedora 44: libnvme-doc 1.16.2-1.fc44 Β· 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