__rxe_init_mcg(9)
π« __rxe_init_mcg(9) π«
okay so bestie, welcome to the Kernel API Manual β¨ β this is the page for __rxe_init_mcg, and no cap, it's a little cutie. Let's get into it π
πΈ NAME πΈ
__rxe_init_mcg β initialize a new mcg π
β¨ SYNOPSIS β¨
void __rxe_init_mcg (struct rxe_dev *rxe , union ib_gid *mgid , struct
rxe_mcg *mcg );
like, that's the whole signature. she's not returning anything, she's void, she just does her thing π«Ά
π¦ ARGUMENTS π¦
rxeβ the rxe device, bestie. this is the device we're working with πmgidβ the multicast address, but as agidπmcgβ the brand new mcg object. freshly made. iconic π
π₯ DESCRIPTION π₯
so what she actually does is initialize the mcg fields. that's the whole vibe π
here's the part that matters, though β the mcg is private at this point and it is not yet visible in mcg_tree. because of that, this call may totally run without rxe->mcg_lock, no stress, no drama π§
then later, __rxe_publish_mcg is the one that makes it visible β and that happens under the lock, once the mcg is actually ready. so like, init first, publish later, lock only when publishing. periodt β¨
lowkey the whole point: don't go looking for it in mcg_tree yet, she hasn't been introduced to the tree π
π SEE ALSO π
kernel file ./drivers/infiniband/sw/rxe/rxe_mcast.c β and honestly the whole friend group π:
rxe_mcast_add(9)rxe_mcast_del(9)__rxe_insert_mcg(9)__rxe_remove_mcg(9)__rxe_lookup_mcg(9)rxe_lookup_mcg(9)__rxe_publish_mcg(9)rxe_get_mcg(9)rxe_cleanup_mcg(9)__rxe_destroy_mcg(9)rxe_destroy_mcg(9)__rxe_init_mca(9)rxe_attach_mcg(9)__rxe_cleanup_mca(9)rxe_detach_mcg(9)rxe_attach_mcast(9)rxe_detach_mcast(9)
and that's the page!! π this one lives in ./drivers/infiniband/sw/rxe, dated October 2026, and it's __rxe_init_mcg(9) all the way down π slay, go initialize some mcg ππ«Άπ
π¦ 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