ice_rm_agg_cfg_tc(9)
π
ice_rm_agg_cfg_tc β removal era for the TC aggregator config (kernel API manual, bestie edition) β¨
okay so this is page ice_rm_agg_cfg_tc(9) from the Kernel API Manual, and yes we're doing a whole deep-dive because this little function is doing actual cleanup work and honestly? iconic of it. π§Ήπ
πΈ NAME πΈ
ice_rm_agg_cfg_tc β remove aggregator configuration for TC
like, it literally just takes the aggregator config for a TC and goes "not you anymore, bestie". π
β¨ SYNOPSIS β¨
int ice_rm_agg_cfg_tc (struct ice_port_info *pi , struct
ice_sched_agg_info *agg_info , u8 tc , bool rm_vsi_info );
look at her. four params, one int return, zero notes. main character signature fr fr π
π¦ ARGUMENTS π¦
piβ the port information structure. that's the port's whole little info hub, she's the context queen πagg_infoβ the aggregator ID. which aggregator are we breaking up with? this one, right here π«Άtcβ the TC number. you gotta tell it which TC's vibe is getting cleaned out π₯rm_vsi_infoβ a bool value, so like,trueorfalse. that's the whole range, no in-between π
π DESCRIPTION π
okay so picture this: this function removes the aggregator reference to the VSI of the given TC. and not just a little bit β it removes the aggregator configuration completely for the requested TC. full send. no leftovers, no crumbs. it's giving "blocked and deleted" energy ππ
here's the part you cannot skip, the real one:
the caller needs to hold the scheduler lock. π
not "should". not "idk maybe". needs to. so grab that lock before you call this, bestie, or the scheduler is gonna have opinions and you will not enjoy the vibe check. fr fr β οΈ
π SEE ALSO π
the source lives in the kernel file ./drivers/net/ethernet/intel/ice/ice_sched.c, and here is the entire friend group β the whole group chat, no one left on read π«Ά
ice_sched_add_root_node(9),ice_sched_find_node_by_teid(9),ice_sched_find_next_vsi_node(9)ice_aqc_send_sched_elem_cmd(9),ice_aq_query_sched_elems(9),ice_sched_add_node(9),ice_aq_delete_sched_elems(9)ice_sched_remove_elems(9),ice_sched_get_first_node(9),ice_sched_get_tc_node(9),ice_free_sched_node(9)ice_aq_get_dflt_topo(9),ice_aq_add_sched_elems(9),ice_aq_cfg_sched_elems(9),ice_aq_move_sched_elems(9)ice_aq_suspend_sched_elems(9),ice_aq_resume_sched_elems(9),ice_aq_query_sched_res(9),ice_sched_suspend_resume_elems(9)ice_alloc_lan_q_ctx(9),ice_alloc_rdma_q_ctx(9),ice_aq_rl_profile(9)ice_aq_add_rl_profile(9),ice_aq_remove_rl_profile(9),ice_sched_del_rl_profile(9),ice_sched_clear_rl_prof(9)ice_sched_clear_agg(9),ice_sched_clear_tx_topo(9),ice_sched_clear_port(9),ice_sched_cleanup_all(9)ice_sched_add_elems(9),ice_sched_add_nodes_to_hw_layer(9),ice_sched_add_nodes_to_layer(9)ice_sched_get_qgrp_layer(9),ice_sched_get_vsi_layer(9),ice_sched_get_agg_layer(9)ice_rm_dflt_leaf_node(9),ice_sched_rm_dflt_nodes(9),ice_sched_init_port(9)ice_sched_query_res_alloc(9),ice_sched_get_psm_clk_freq(9),ice_sched_find_node_in_subtree(9)ice_sched_get_free_qgrp(9),ice_sched_get_free_qparent(9),ice_sched_get_vsi_node(9),ice_sched_get_agg_node(9)ice_sched_calc_vsi_child_nodes(9),ice_sched_add_vsi_child_nodes(9),ice_sched_calc_vsi_support_nodes(9)ice_sched_add_vsi_support_nodes(9),ice_sched_add_vsi_to_topo(9),ice_sched_recalc_vsi_support_nodes(9)ice_sched_update_vsi_child_nodes(9),ice_sched_cfg_vsi(9),ice_sched_rm_agg_vsi_info(9)ice_sched_is_leaf_node_present(9),ice_sched_rm_vsi_subtree(9),ice_sched_rm_vsi_cfg(9)ice_rm_vsi_lan_cfg(9),ice_rm_vsi_rdma_cfg(9),ice_get_agg_info(9)ice_sched_get_free_vsi_parent(9),ice_sched_update_parent(9),ice_sched_move_nodes(9)ice_sched_move_vsi_to_agg(9),ice_move_all_vsi_to_dflt_agg(9),ice_sched_is_agg_inuse(9)ice_sched_rm_agg_cfg(9),ice_save_agg_tc_bitmap(9),ice_sched_add_agg_cfg(9),ice_sched_cfg_agg(9),ice_cfg_agg(9)ice_get_agg_vsi_info(9),ice_get_vsi_agg_info(9),ice_save_agg_vsi_tc_bitmap(9),ice_sched_assoc_vsi_to_agg(9)ice_sched_rm_unused_rl_prof(9),ice_sched_update_elem(9),ice_sched_cfg_node_bw_alloc(9),ice_move_vsi_to_agg(9)ice_set_clear_cir_bw(9),ice_set_clear_eir_bw(9),ice_set_clear_shared_bw(9),ice_sched_save_vsi_bw(9)ice_sched_calc_wakeup(9),ice_sched_bw_to_rl_profile(9),ice_sched_add_rl_profile(9)ice_sched_cfg_node_bw_lmt(9),ice_sched_get_node_rl_prof_id(9),ice_sched_get_rl_prof_layer(9)ice_sched_get_srl_node(9),ice_sched_rm_rl_profile(9),ice_sched_set_node_bw_dflt(9)ice_sched_set_eir_srl_excl(9),ice_sched_set_node_bw(9),ice_sched_set_node_priority(9)ice_sched_set_node_weight(9),ice_sched_set_node_bw_lmt(9),ice_sched_set_node_bw_dflt_lmt(9)ice_sched_validate_srl_node(9),ice_sched_save_q_bw(9),ice_sched_set_q_bw_lmt(9)ice_cfg_q_bw_lmt(9),ice_cfg_q_bw_dflt_lmt(9),ice_sched_get_node_by_id_type(9)ice_sched_set_node_bw_lmt_per_tc(9),ice_cfg_vsi_bw_lmt_per_tc(9),ice_cfg_vsi_bw_dflt_lmt_per_tc(9)ice_cfg_rl_burst_size(9),ice_sched_replay_node_prio(9),ice_sched_replay_node_bw(9)ice_sched_get_ena_tc_bitmap(9),ice_sched_replay_agg(9),ice_sched_replay_agg_vsi_preinit(9)ice_sched_replay_vsi_agg(9),ice_replay_vsi_agg(9),ice_sched_replay_q_bw(9)
like I said. everyone's here. π₯
and that's the page, bestie π this came out of ./drivers/net/ethernet/intel/ice, dated October 2026 β go hold that scheduler lock, slay, and stan clean aggregator teardown πβ¨π¦
π¦ 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