STRUCT LIBIE_CTLQ_CTX(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct libie_ctlq_ctx(9) β€” Kernel API Manual, bestie edition πŸŽ€

Okay so listen β€” this is the manual page for struct libie_ctlq_ctx(9), from the Kernel API Manual, and it's literally the little home base where your control queue info and your MMIO region info live together. One struct, two vibes. Let's get into it ✨


🌸 NAME 🌸

struct libie_ctlq_ctx β€” contains controlq info and MMIO region info

No cap, that's the whole personality: it holds the controlq info, and it holds the MMIO region info. Iconic, minimal, does exactly what it says 🫢

✨ SYNOPSIS ✨

Here's the whole thing, exactly as it's declared:

struct libie_ctlq_ctx {
    struct libie_mmio_info  mmio_info;
    struct list_head        ctlqs;
    spinlock_t ctlqs_lock;
 };

Three members, zero notes of drama. Keep scrolling for the member-by-member breakdown πŸ’–


πŸ’– Members πŸ’–

  • mmio_info β€” the MMIO region info structure πŸ’« That's your window into the memory-mapped I/O situation.
  • ctlqs β€” the list that stores all the control queues. Every single one of them lives in this list, bestie πŸ‘‘
  • ctlqs_lock β€” the lock for the control queue list πŸ”’ So like, the list is protected, we respect the lock, no one touches ctlqs without it. Periodt.

πŸ¦‹ SEE ALSO πŸ¦‹

First off, the source of truth lives in the kernel file ./include/linux/net/intel/libie/controlq.h, and there's an enum hanging out there too (iykyk) πŸ‘€

Then the whole friend group, in case you wanna go down the rabbit hole:

  • enum libie_ctlq_type(9)
  • struct libie_ctlq_reg(9)
  • struct libie_cp_dma_mem(9)
  • struct libie_ctlq_msg(9)
  • struct libie_ctlq_create_info(9)
  • struct libie_ctlq_info(9)
  • struct libie_ctlq_desc(9)
  • struct libie_ctlq_clean_params(9)
  • libie_ctlq_release_rx_buf(9)
  • enum libie_ctlq_xn_state(9)
  • struct libie_ctlq_xn(9)
  • struct libie_ctlq_xn_manager(9)
  • struct libie_ctlq_xn_send_params(9)
  • libie_cp_can_send_onstack(9)
  • struct libie_ctlq_xn_recv_params(9)
  • struct libie_ctlq_xn_init_params(9)

Like, go read all of them, they're all main characters in this saga 🌈


Alright bestie, that's the page! This one shipped from ./include/linux/net/intel/libie and it's dated October 2026 β€” so when you're citing it, that's the source and the date, mwah πŸ’‹ Slay, you read the whole manpage, I'm so proud of you πŸŽ€πŸ’œ
πŸ“¦ where this page comes from