rvt_map_mr_sg(9)
β¨ rvt_map_mr_sg(9) β¨
okay bestie, so this is a page straight out of the Kernel API Manual β the rvt_map_mr_sg entry, to be exact π
. Let's get into it.
πΈ NAME πΈ
rvt_map_mr_sg β map that sg list and set it to the memory region, periodt π«Ά
β¨ SYNOPSIS β¨
int rvt_map_mr_sg (struct ib_mr *ibmr , struct scatterlist *sg , int
sg_nents , unsigned int *sg_offset );
π ARGUMENTS π
ibmrβ the memory region. that's the whole point, she's the main character πsgβ the dma mapped scatterlist, aka the list itselfsg_nentsβ number of entries insg(count 'em)sg_offsetβ offset in bytes intosg, so like... where you're starting from π¦
π DESCRIPTION π
okay so what she actually does: she overwrites the rvt_mr length with the mr length that ib_sg_to_pages calculated. that's it, that's the whole vibe β no cap π₯
π RETURN π
she returns the number of sg elements mapped to the memory region β literally that number, nothing sneaky π
π§ SEE ALSO π§
the whole friend group, in Kernel file ./drivers/infiniband/sw/rdmavt/mr.c:
rvt_driver_mr_init(9)rvt_mr_exit(9)rvt_alloc_lkey(9)rvt_free_lkey(9)rvt_get_dma_mr(9)rvt_reg_user_mr(9)rvt_dereg_clean_qp_cb(9)rvt_dereg_clean_qps(9)rvt_check_refs(9)rvt_mr_has_lkey(9)rvt_ss_has_lkey(9)rvt_dereg_mr(9)rvt_alloc_mr(9)rvt_set_page(9)rvt_fast_reg_mr(9)rvt_invalidate_rkey(9)rvt_sge_adjacent(9)rvt_lkey_ok(9)rvt_rkey_ok(9)
ngl bestie, nineteen cross-references is a lot of reading, but you got this ππͺ
β that's the page! sourced from ./drivers/infiniband/sw/rdmavt, dated October 2026 β mwah, go slay your kernel dev era ππ
π
π¦ 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