STRUCT HFI1_IPOIB_CIRC_BUF(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct hfi1_ipoib_circ_buf(9) πŸ¦‹

okay so bestie, this is a page from the Kernel API Manual β€” like, the actual kernel, no cap β€” and it's all about one little struct. Sit down, grab a strawberry πŸ“, we're doing this.


✨ NAME ✨

struct hfi1_ipoib_circ_buf β€” literally just a list of items to be processed. that's the whole vibe. a whole struct whose entire personality is "here's some stuff, go deal with it" πŸ’…


✨ SYNOPSIS ✨

struct hfi1_ipoib_circ_buf {
    void *items;
    u32 max_items;
    u32 shift;
    u64 sent_txreqs;
    u32 avail;
    u32 tail;
    atomic_t stops;
    atomic_t ring_full;
    atomic_t no_desc;
    u64 complete_txreqs;
    u32 head;
 };

look at her. eleven fields. she's serving structure, she's serving organization, she's giving main character energy πŸ‘‘


✨ Members ✨

okay let's meet the cast, one by one, in the exact order the page serves them:

  • items β€” the ring of items, and every single one is a power of two size. icons only. ✨
  • max_items β€” max items + 1 that the ring can contain. yes, the plus one is real, don't come for me, that's what it says 🫢
  • shift β€” log2 of size, used for getting the txreq. math girlies rise 🌸
  • sent_txreqs β€” a count of txreqs that got posted to sdma. keeping receipts, fr fr 🧾
  • tail β€” the ring tail. that's it. that's the whole description. πŸ’€

wait β€” quick aside, bestie: avail is literally sitting right there in the struct up in the synopsis, but the Members list doesn't say a single word about it. not one. so I'm not gonna make something up, because that would be lying on the internet and we don't do that πŸ™ˆ just know avail is in the building.

okay continuing:

  • stops β€” count of stops of the queue. how many times did we stop? this many. 😭
  • ring_full β€” the ring has been filled. she's full. she cannot take any more. πŸ’€
  • no_desc β€” a descriptor shortage was seen. rough out here for a descriptor πŸ˜”
  • complete_txreqs β€” count of txreqs completed by sdma. the glow-up arc, finished and accounted for πŸ”₯
  • head β€” the ring head. iconic, mysterious, to the point. πŸ‘‘

✨ SEE ALSO ✨

go look at these next, bestie, they're literally linked:

  • Kernel file ./drivers/infiniband/hw/hfi1/ipoib.h
  • struct ipoib_txreq(9)
  • struct hfi1_ipoib_txq(9)

πŸ’– heads up: the members list and the struct in the synopsis don't line up one-to-one (avail says hi but nobody introduces her), so don't be shocked. that's the page, not me.

okay that's the whole thing, you ate that πŸ“βœ¨ mwah πŸ’‹

sign-off time: this little beauty lives under ./drivers/infiniband/hw/hfi1, and the page is dated October 2026 β€” so yeah, she's from the future, we stan a forward-thinking struct πŸŒˆπŸ‘‘. bye bestie, go process some items! πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from