STRUCT IO_TLB_SLOT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct io_tlb_slot(9) β€” Kernel API Manual core πŸŽ€

okay so bestie, welcome to the glow-up of struct io_tlb_slot(9), straight out of the Kernel API Manual ✨ this is the little descriptor that lives in the IO TLB and honestly? it's giving backstage-pass energy. let's get into it πŸ’–


✨ NAME ✨

struct io_tlb_slot β€” the IO TLB slot descriptor, no cap 🫢


🌸 SYNOPSIS 🌸

struct io_tlb_slot {
    phys_addr_t orig_addr;
    size_t alloc_size;
    unsigned short list;
    unsigned short pad_slots;
 };

look at her. four fields. absolute main character energy πŸ‘‘


πŸ¦‹ MEMBERS πŸ¦‹

  • orig_addr β€” the original address that corresponds to a mapped entry. like, where it actually came from before things got mapped πŸ’«
  • alloc_size β€” the size of the allocated buffer. that's it, that's the whole vibe πŸ“
  • list β€” the free list, and she's describing the number of free entries available from each index. lowkey the most bookkeeping-coded field here πŸ“‹
  • pad_slots β€” the number of preceding padding slots. heads up though 🚨 this one is valid only in the first allocated non-padding slot β€” anywhere else and it's just sitting there being invalid, iykyk πŸ™ˆ

🧚 SEE ALSO 🧚

kernel file ./kernel/dma/swiotlb.c, plus this whole friend group πŸ’œ:


and that's the whole page, bestie, we ate and left zero crumbs πŸ’…βœ¨ sign-off time: this one lives under ./kernel/dma, dated October 2026, and it's filed as struct io_tlb_slot(9) β€” periodt πŸŒˆπŸ‘‘

πŸ“¦ where this page comes from