STRUCT SRP_FR_POOL(9)
β¨ struct srp_fr_pool β NAME β¨
okay so bestie, gather round π this is struct srp_fr_pool(9), like, from the Kernel API Manual β and it is literally a pool of fast registration descriptors. that's the whole vibe. no cap. π«Ά
π¦ SYNOPSIS π¦
here's the struct in all its main-character glory, copied exactly so u don't have to trust me on vibes alone:
struct srp_fr_pool {
int size;
int max_page_list_len;
spinlock_t lock;
struct list_head free_list;
struct srp_fr_desc desc[];
};
π Members π
every member, accounted for, no skips, no β¨selective readingβ¨:
sizeβ how many descriptors live in this pool. that's the headcount, periodt. π₯max_page_list_lenβ the maximum fast registration work request page list length. yes the whole phrase, it's giving "long name but she earned it" πlockβ this one's job is literally just protectingfree_list. a bodyguard. a bouncer. iconic behaviour honestly. πfree_listβ the list of free descriptors. the available girlies. πΈdescβ the fast registration descriptor pool itself. the whole point of the struct, lowkey the main event. β
π Description π
here's the one rule, and it's the rule:
an entry is available for allocation if and only if it occurs infree_list. π like, that's it. that's the whole contract. not infree_list? not available. infree_list? available. iykyk. πβ¨
π SEE ALSO π
go read these next, bestie, they're all in the kernel file ./drivers/infiniband/ulp/srp/ib_srp.h:
struct srp_rdma_ch(9)struct srp_target_port(9)struct srp_fr_desc(9)struct srp_map_state(9)
k that's the whole page π this lil doc came from ./drivers/infiniband/ulp/srp, dated October 2026, and she's officially struct srp_fr_pool(9). slay, go read ur structs, mwah π§π
π¦ 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