NVME_INIT_SET_FEATURES_RATE_LIMITING-LIBNVME3(2)

πŸ“¦ version 3.2, in arch rolling

πŸ’… nvme_init_set_features_rate_limiting(9) β€” libnvme API manual πŸŽ€

okay so bestie, you're in the libnvme API manual, section 9, and the star of this page is nvme_init_set_features_rate_limiting. it's giving "glow-up your passthru buffer" energy and honestly? iconic. ✨


✨ NAME ✨

nvme_init_set_features_rate_limiting β€” Initialize passthru command for Rate Limiting 🌈

like, that's literally her whole job. she sets up the passthru command so you can go do Rate Limiting things. no cap. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

void nvme_init_set_features_rate_limiting (struct libnvme_passthru_cmd
*cmd , bool sv , __u8 target , __u16 tid , struct
nvme_rate_limiting_data *data );

she returns void btw, so don't go looking for a return value, she's not that kind of function 🫢


🌸 ARGUMENTS 🌸

  • cmd β€” the Passthru command to use. this is the buffer she's gonna initialize, so hand her a good one bestie πŸ’–
  • sv β€” Save value across power states. it's a bool, so it's a yes/no vibe check ⭐
  • target β€” Target of the rate limits setting, see enum nvme_rate_limiting_target. this is the __u8 that says where the rate limiting is happening πŸ‘‘
  • tid β€” Target Identifier for the target specified by target. a __u16, and yes it pairs with target like the matching besties they are πŸŽ€
  • data β€” User address of the Rate Limiting data buffer, see struct nvme_rate_limiting_data. this is the actual payload, the main character of the whole operation πŸ’œ

πŸ”₯ DESCRIPTION πŸ”₯

okay so what she actually does: she Initializes the passthru command buffer for the Set Features command with FID value NVME_FEAT_FID_RATE_LIMITING. that's it, that's the whole serve. she's not doing the ioctl for you, she's prepping the buffer so it's all cute and ready to go. periodt. πŸ’…

ngl bestie, this is a setup function β€” the passthru command buffer is what gets filled in, so make sure your cmd is valid before you hand it over. πŸ™ˆ

πŸ’« SEE ALSO πŸ’«

so the page doesn't spell out a separate SEE ALSO list, but it does point you at two things, and you should absolutely go read them:

  • enum nvme_rate_limiting_target β€” for the target argument 🌸
  • struct nvme_rate_limiting_data β€” for the data argument πŸ¦‹

and that's the page, bestie! πŸ₯³ this absolute gem comes to you from the libnvme API manual, dated October 2026 β€” go off and rate-limit responsibly, mwah πŸ’‹πŸ’–βœ¨

πŸ“¦ where this page comes from