grow_dpa_allocation(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

grow_dpa_allocation(9) πŸ‘‘ β€” Kernel API Manual energy

okay bestie, gather round 🫢 we’re in the Kernel API Manual and this page is all about grow_dpa_allocation(9). No cap, it’s the β€œfor each dimm allocate n bytes for @label_id” situation, and yes that’s NAME doing its thing. πŸ’…

✨ SYNOPSIS ✨

int grow_dpa_allocation (struct nd_region *nd_region , struct
       nd_label_id *label_id , resource_size_t n );

πŸŽ€ ARGUMENTS πŸŽ€

  • nd_region β€” the set of dimms to allocate n more bytes from. That’s the region bestie 🧚
  • label_id β€” unique identifier for the namespace consuming this dpa range. Iconic little namespace fingerprint ✨
  • n β€” number of bytes per-dimm to add to the existing allocation. The amount, the whole amount, and nothing but the amount πŸ”₯

πŸ’… DESCRIPTION πŸ’…

okay so the function assumes resources are ordered β€” that’s the baseline vibe, periodt.

For BLK regions, it first consumes BLK-only available DPA free space, then consumes PMEM-aliased DPA space starting at the highest DPA. Slay, orderly little allocation goblin πŸ’€

For PMEM regions, it starts allocations from the start of an interleave set and ends at the first BLK allocation or the end of the interleave set, whichever comes first. That’s the boundary lore, iykyk πŸ¦‹

πŸ”₯ RETURN πŸ”₯

The page says 0 on success on -errno on error. So: success gives you 0, error gives you -errno, and the manpage keeps it blunt 😭

πŸ¦‹ SEE ALSO πŸ¦‹


mwah πŸ’‹ that’s the whole page from ./drivers/nvdimm, dated October 2026 β€” grow_dpa_allocation(9) signing off, bestie 🫢✨

πŸ“¦ where this page comes from