vio_cmo_dealloc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… vio_cmo_dealloc(9) πŸ’…

okay bestie, welcome to the Kernel API Manual entry for vio_cmo_dealloc β€” yes, the (9) is right there, we’re in kernel API land. this function is literally about deallocating IO memory from CMO-enable devices, and the whole vibe is β€œgive the memory back to the correct pools.” no cap. 🧚✨

🌸 NAME 🌸

vio_cmo_dealloc β€” deallocate IO memory from CMO-enable devices πŸ’–

πŸŽ€ SYNOPSIS πŸŽ€

void vio_cmo_dealloc (struct vio_dev *viodev , size_t size );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • viodev β€” VIO device freeing IO memory 🫢
  • size β€” size of deallocation, aka how much is being given back πŸ’…

✨ DESCRIPTION ✨

IO memory is freed by the device back to the correct memory pools. and bestie, the order is the whole plot:

  1. the spare pool is replenished first from either memory pool 🌈
  2. then the reserve pool is used to reduce device entitlement πŸ‘‘
  3. the excess pool is used to increase the reserve pool toward the desired entitlement target πŸ”₯
  4. and then the remaining memory is returned to the pools. periodt. πŸ’œ

🌟 SEE ALSO 🌟

the kernel file is ./arch/powerpc/platforms/pseries/vio.c, and here’s the whole friend group:


okay that’s the whole page, bestie! source/version says ./arch/powerpc/platforms/pseries, dated October 2026, and the page is vio_cmo_dealloc(9). byeee πŸ‘‘πŸ’–

πŸ“¦ where this page comes from