hfi1_setup_eagerbufs(9)
π hfi1_setup_eagerbufs(9) π
okay bestie, welcome to the Kernel API Manual β this one's all about hfi1_setup_eagerbufs, and honestly? it's a whole vibe β¨
πΈ NAME πΈ
hfi1_setup_eagerbufs β allocate eager buffers, both kernel and user contexts π
β¨ SYNOPSIS β¨
int hfi1_setup_eagerbufs (struct hfi1_ctxtdata *rcd );
π«Ά ARGUMENTS π«Ά
rcdβ the context we are setting up, aka the main character of this whole operation π
π₯ DESCRIPTION π₯
so what it does is: allocate the eager TID buffers and program them into hip. no cap, that's the job π
and here's the tea β they are no longer completely contiguous, so instead we do multiple allocation calls. the way that matters is: otherwise we get the OOM code involved π by asking for too much per call, which gives you disastrous results on some kernels. so yeah. don't do that. multiple small asks, iconic behavior, periodt π
bestie note: the non-contiguous thing isn't a bug, it's the whole point β one big ask = OOM drama, and nobody wants that on their kernel π
π¦ SEE ALSO π¦
Kernel file ./drivers/infiniband/hw/hfi1/init.c, plus the whole friend group π
hfi1_rcd_free(9)hfi1_rcd_put(9)hfi1_rcd_get(9)allocate_rcd_index(9)hfi1_rcd_get_by_index_safe(9)hfi1_rcd_get_by_index(9)hfi1_free_ctxt(9)init_after_reset(9)create_workqueues(9)destroy_workqueues(9)enable_general_intr(9)hfi1_init(9)shutdown_device(9)hfi1_free_ctxtdata(9)hfi1_free_devdata(9)hfi1_alloc_devdata(9)hfi1_create_rcvhdrq(9)
alright that's the whole page, ily, go read the other ones too πβ
source + version + date check: this one's from ./drivers/infiniband/hw/hfi1, dated October 2026 β mwah, bye bestie ππ
π¦ 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