tid_rdma_fin...ys_blocks_4k(9)
πΈ tid_rdma_fin...ys_blocks_4k(9) β the Kernel API Manual moment π
okay so this is a page from the Kernel API Manual, bestie, and the star of the show is tid_rdma_find_phys_blocks_4k. yes the header truncates it with ... like it's too iconic to spell out fully. we move.
β¨ NAME β¨
tid_rdma_find_phys_blocks_4k β get groups base on mr info π«Ά
(not me keeping the original grammar exactly, that's the whole point, no editing the vibes of the kernel)
π SYNOPSIS π
u32 tid_rdma_find_phys_blocks_4k (struct tid_rdma_flow *flow , struct
page **pages , u32 npages , struct tid_rdma_pageset *list );
like, it takes four things and gives you back a u32. that's the whole arc. she's literally a function. π
π ARGUMENTS π
flowβ the overall info for a TID RDMA segment. like the big picture, the main character energy of the whole segment πpagesβ pointer to an array of page structs. a whole little ensemble cast of pages, and this is the pointer to them π«npagesβ number of pages. yes bestie, we are counting them, it's giving accountability β¨listβ page set array to return. this is where the answer goes, so like, hand her an empty container and she fills it π
π¦ DESCRIPTION π¦
okay so here's the tea: this routine returns the number of groups associated with the current sge information. fr fr, that's what it does. π₯
and the way it works? this implementation is based on the expected receive find_phys_blocks β but adjusted to use the MR information vs. the pfn. so it's the glow-up version of the original, using MR info instead of pfn. periodt. π
β RETURN β
the number of RcvArray entries π that's it, that's the return value, no cap.
πΈ SEE ALSO πΈ
so much lore, i'm obsessed. this whole little universe lives in the kernel file ./drivers/infiniband/hw/hfi1/tid_rdma.c and honestly you should go read all of these:
- TID RDMA READ protocol(9)
qp_to_rcd(9)lock ordering(9)kernel_tid_waiters(9)dequeue_tid_waiter(9)queue_qp_for_tid_wait(9)__trigger_tid_waiter(9)tid_rdma_schedule_tid_wakeup(9)tid_rdma_trigger_resume(9)kern_reserve_flow(9)tid_flush_pages(9)tid_rdma_find_phys_blocks_8k(9)hfi1_kern_exp_rcv_setup(9)hfi1_kern_exp_rcv_free_flows(9)__trdma_clean_swqe(9)hfi1_schedule_tid_send(9)
iykyk π§ (and yes, the 8k sibling is right there in the list, she's the twin, we love her too π)
ok genuine warning-ish aside for the record: this page's listed source path is./drivers/infiniband/hw/hfi1and the date on it is October 2026, and the truncated titletid_rdma_fin...ys_blocks_4k(9)is literally the header/footer text as written. no inventing, no guessing, we just report the facts cutely π
and that's the whole page bestie!! sourced straight from ./drivers/infiniband/hw/hfi1, dated October 2026, filed under tid_rdma_fin...ys_blocks_4k(9) π stay hydrated, read your kernel docs, 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