STRUCT TB_BANDWIDTH_GROUP(9)
okay bestie, this is the struct tb_bandwidth_group(9) page from the Kernel API Manual, and itβs literally the bandwidth management group struct. Letβs get into every detail, no skipping π
β¨
π NAME π
struct tb_bandwidth_group β Bandwidth management group. Thatβs the whole vibe: a group for managing bandwidth, and yes itβs giving main character energy π
β¨ SYNOPSIS β¨
the struct looks exactly like this:
struct tb_bandwidth_group {
struct tb *tb;
int index;
struct list_head ports;
int reserved;
struct delayed_work release_work;
};
π§ Members π§
tbβ Pointer to the domain the group belongs to. It knows its domain, periodt π«indexβ Index of the group (akaGroup_ID). Valid values1-7. Like, only 1 through 7, bestie, thatβs the range π₯portsβ DP IN adapters belonging to this group are linked here. All the DP IN adapters in this group are hooked up right here π«Άreservedβ Bandwidth released by one tunnel in the group, available to others. This is reported as part ofestimated_bwfor the group. So yes, that reserved bandwidth is part of the groupβsestimated_bwreport πrelease_workβ Worker to release thereservedif it is not used by any of the tunnels. Itβs the cleanup crew for unused reserved bandwidth π§Ή
πΈ Description πΈ
okay so any tunnel that requires isochronous bandwidth β thatβs DP for now β is attached to a bandwidth group. All tunnels going through the same USB4 links share the same group and can dynamically distribute the bandwidth within the group. Itβs giving shared-resource main character energy, but make it USB4 π
π SEE ALSO π
Kernel file ./drivers/thunderbolt/tb.h, plus the whole cross-ref clique:
struct tb_nvm(9)enum tb_switch_tmu_mode(9)struct tb_switch_tmu(9)struct tb_switch(9)struct tb_port(9)struct usb4_port(9)struct tb_retimer(9)struct tb_path_hop(9)enum tb_path_port(9)struct tb_path(9)struct tb_cm_ops(9)tb_upstream_port(9)tb_is_upstream_port(9)tb_port_has_remote(9)tb_domain_event(9)tb_switch_for_each_port(9)tb_switch_downstream_port(9)tb_switch_depth(9)tb_switch_is_icm(9)tb_switch_tmu_is_configured(9)tb_switch_tmu_is_enabled(9)tb_switch_clx_is_enabled(9)tb_port_path_direction_downstream(9)tb_for_each_port_on_path(9)tb_for_each_upstream_port_on_path(9)tb_path_for_each_hop(9)tb_downstream_route(9)tb_xdomain_downstream_port(9)usb4_switch_version(9)tb_switch_is_usb4(9)enum usb4_sb_target(9)enum usb4_margin_sw_error_counter(9)struct usb4_port_margining_params(9)
thatβs the whole page, bestie π«Ά β source ./drivers/thunderbolt, dated October 2026, from the Kernel API Manual, page struct tb_bandwidth_group(9). bye π
β¨
π¦ 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