cxl_endpoin...er_bandwidth(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

cxl_endpoint_gather_bandwidth β€” okay so this one literally collects all the endpoint bandwidth into an xarray πŸ’– (and yes, the header up top got chopped to cxl_endpoin...er_bandwidth(9) because terminals are dramatic, but it's a Kernel API Manual situation, section 9, iykyk ✨)


πŸŽ€ SYNOPSIS πŸŽ€

int cxl_endpoint_gather_bandwidth (struct cxl_region *cxlr , struct
cxl_endpoint_decoder *cxled , struct xarray *usp_xa , bool *gp_is_root );

πŸ’… ARGUMENTS πŸ’…

  • cxlr β€” the CXL region we're doing the bandwidth calculation for 🫢
  • cxled β€” the endpoint decoder you're starting on, bestie, this is the starting point ✨
  • usp_xa β€” (output!) the xarray that collects all the bandwidth coordinates, indexed by the upstream device, holding data of struct cxl_perf_ctx πŸ’–
  • gp_is_root β€” (output!) a bool of whether the grandparent is cxl root πŸ‘‘

⭐ RETURN ⭐

0 for success or -errno πŸ’€ (so like, classic kernel vibes β€” zero is the slay, negative errno is the not-slaying)


πŸ¦‹ DESCRIPTION πŸ¦‹

So what this actually does: it collects the aggregated endpoint bandwidth and stores that bandwidth in an xarray indexed by the upstream device of the switch or the RP device 🌈.

Each endpoint consists the minimum of:

  1. the bandwidth from DSLBIS from the endpoint CDAT
  2. the endpoint upstream link bandwidth
  3. the bandwidth from the SSLBIS of the switch CDAT for the switch upstream port to the downstream port that's associated with the endpoint

So yeah β€” it's the minimum of those three, no cap 😭 and if the device is directly connected to a RP, then no SSLBIS is involved at all, periodt 🧚


πŸ”₯ SEE ALSO πŸ”₯


πŸ’œ fr fr, that's the whole page β€” go read the friends above if you want the full lore ✨

okay bye ily, this page lives in ./drivers/cxl/core, dated October 2026, from the Kernel API Manual β€” mwah πŸ’‹ πŸŽ€

πŸ“¦ where this page comes from