free_iova_fast(9)
π free_iova_fast(9) π
okay so bestie, welcome to the Kernel API Manual β¨ β yes we're literally in the kernel docs together, hold my iced coffee π§. Today's main character is free_iova_fast, a little function living its best life in the IOMMU world π¦.
πΈ NAME πΈ
free_iova_fast β frees an iova pfn range and yeets it back into the rcache π
β¨ SYNOPSIS β¨
void free_iova_fast (struct iova_domain *iovad , unsigned long pfn ,
unsigned long size );
like, that's the whole signature. no cap. π
π ARGUMENTS π
iovadβ the iova domain in question π β it's giving "which sandbox are we playing in".pfnβ a pfn that was allocated previously π«Ά β yes bestie it has to be one you already grabbed, not a random one you found on the floor.sizeβ the#of pages in the range π.
so about that last one β the original page just casually drops the whole function description right under size (iconic placement, honestly π), and it says: this function frees an iova range by trying to put it into the rcache first, and if that fails it falls back to regular iova deallocation via free_iova π₯. so like β rcache first, free_iova as the backup plan. not me having a whole fallback strategy ππ.
π¦ SEE ALSO π¦
kernel file ./drivers/iommu/iova.c π and the whole squad:
alloc_iova(9)find_iova(9)__free_iova(9)free_iova(9)alloc_iova_fast(9)put_iova_domain(9)reserve_iova(9)
lowkey a reminder that this is kernel territory β read the args carefully before you call it, mkay? π
anyway that's the whole vibe check π§ β brought to you by ./drivers/iommu, dated October 2026, and yes the page title was free_iova_fast(9) all along, slay πβ¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms