cxl_switch_gather_bandwidth(9)
β¨ cxl_switch_gather_bandwidth(9) β¨
okay bestie, welcome to the kernel API manual π
this one's a <blue>9</blue>-section page (kernel internals, iykyk), and it's all about hoarding bandwidth at the switch level π
πΈ NAME πΈ
cxl_switch_gather_bandwidth β literally collect all the bandwidth at switch level, in an xarray, no cap π«Ά
π¦ SYNOPSIS π¦
struct xarray * cxl_switch_gather_bandwidth (struct cxl_region *cxlr ,
struct xarray *input_xa , bool *gp_is_root );
π ARGUMENTS π
cxlrβ the region being operated on, the main character of this whole function β¨input_xaβ xarray indexed by the upstream device of a switch, holding data ofstruct cxl_perf_ctxπgp_is_rootβ (output) abooltelling you whether the grandparent is cxl root. yes she's an output param, she writes back π
π RETURN π
an xarray of resulting cxl_perf_ctx per parent switch or root port β or ERR_PTR(-errno) if things go sideways π
π DESCRIPTION π
So here's the vibe: we iterate through the xarray π₯
Then we take the minimum of these three besties:
- the downstream calculated bandwidth
- the upstream link bandwidth
- the SSLBIS of the upstream switch, if it exists (conditional queen π)
Then we sum the resulting bandwidth under the switch upstream device or an RP device β¨
And she's reusable, fr fr β the function can be iterated over multiple switches if the switches are present, periodt π
π SEE ALSO π
- Kernel file
./drivers/cxl/core/cdat.c cxl_coordinates_combine(9)cxl_endpoint_gather_bandwidth(9)cxl_rp_gather_bandwidth(9)cxl_hb_gather_bandwidth(9)cxl_region_update_bandwidth(9)cxl_region_shared_upstream_bandwidth_update(9)
go read those too, they're iconic, iykyk π
and that's the page, bestie!! π§ this little gem lives in ./drivers/cxl/core and the version/date vibe is October 2026 β see you next time, 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