dequeue_tid_waiter(9)
π dequeue_tid_waiter(9) β like, the Kernel API Manual era π
okay so bestie, we're in the Kernel API Manual today and this one's about pulling a qp out of a list. yes it's a kernel function, no it's not scary, come sit with me π
β¨ NAME β¨
dequeue_tid_waiter β dequeue the qp from the list. that's it, that's the whole vibe π«Ά
πΈ SYNOPSIS πΈ
void dequeue_tid_waiter (struct hfi1_ctxtdata *rcd , struct tid_queue
*queue , struct rvt_qp *qp );
look at that signature, it's giving "three args and zero thoughts" π
π¦ ARGUMENTS π¦
rcdβ the receive context. the main character of this whole situation nglqueueβ the queue we're operating on. the venue, if you will πqpβ theqpto remove from the wait list. the one getting un-invited from the group chat π
π DESCRIPTION π
so this routine removes the indicated qp from the wait list if it is there (conditional queen behavior, we love to see it β¨).
the timing? highkey matters. this should be done after the hardware flow and tid array resources have been allocated. like, resources first, dequeue second, no skipping steps bestie π
π¨ lock check, no cap: must hold theqps_lockand thercdexp_lock. both. not one, both. iykyk π
and the reason for the s_lock? it assumes the s_lock to protect the s_flags field and to reliably test the HFI1_S_WAIT_TID_SPACE flag. so yeah, the lock isn't decorative, it's doing real work fr fr π₯
π SEE ALSO π
in the kernel file ./drivers/infiniband/hw/hfi1/tid_rdma.c, and also go read up on:
TID RDMA READ protocol(9)qp_to_rcd(9)lock ordering(9)kernel_tid_waiters(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_rdma_find_phys_blocks_4k(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)
that's the whole reading list, put it in your notes app ππ
and that's a wrap, bestie! this iconic little page lives in ./drivers/infiniband/hw/hfi1, dated October 2026, and it's still signed off as dequeue_tid_waiter(9) β slay, stay hydrated, and always hold both locks π
β¨π
π¦ 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