iommu_iotlb_..._is_disjoint(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… iommu_iotlb_..._is_disjoint(9) β€” the Kernel API Manual glow-up

okay bestie, welcome to the kernel API manual page for iommu_iotlb_..._is_disjoint β€” yes that truncated name is literally the header, the kernel devs were being mysterious, we love that for them πŸŽ€


✨ NAME ✨

iommu_iotlb_gather_is_disjoint β€” the little helper that checks whether a new range is disjoint πŸ¦‹


🌸 SYNOPSIS 🌸

bool iommu_iotlb_gather_is_disjoint (struct iommu_iotlb_gather *gather ,
unsigned long iova , size_t size );

it gives you back a bool, no cap πŸ’–


πŸŽ€ ARGUMENTS πŸŽ€

  • gather β€” the TLB gather data, aka the vibes you're checking against ✨
  • iova β€” start of page to invalidate, like where the drama begins πŸ“
  • size β€” size of page to invalidate, how much of the page is in the group chat πŸ“

πŸ’œ DESCRIPTION πŸ’œ

so this is a helper for IOMMU drivers 🧚 it checks whether a new range and the gathered range are disjoint.

and here's the tea: for many IOMMUs, flushing the IOMMU in this case is better than merging the two β€” because merging might lead to unnecessary invalidations 😭 and nobody wants that, it's giving wasted work, not main character energy. so yeah, disjoint check first, slay πŸ’…


πŸ‘‘ SEE ALSO πŸ‘‘

okay this list is long, grab a snack πŸ“ β€” Kernel file ./include/linux/iommu.h and then all of these:

fr fr go read them, iykyk πŸ“šπŸ”₯


ngl bestie, that's the whole page β€” short, iconic, no filler. go be disjoint πŸ’€βœ¨

mwah πŸ’‹ this page lives in <code>./include/linux</code>, dated October 2026, and its whole title situation is <code>iommu_iotlb_..._is_disjoint(9)</code> β€” periodt, that's the sign-off 🫢🌈

πŸ“¦ where this page comes from