ice_sched_clear_rl_prof(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ice_sched_clear_rl_prof β€” from the Kernel API Manual, section 9

okay so picture this: you're deep in the ice driver, the Rate Limiter profiles have overstayed their welcome, and you need them gone β€” like, scrubbed from existence on both the hardware and the software side. that's this function. one call, full reset, no notes. and yes bestie, this page is a (9) β€” a kernel-internal function, not a little command you type in your shell. iykyk 🫢


✨ NAME ✨

ice_sched_clear_rl_prof β€” clears RL prof entries πŸ’€βœ¨

🌸 SYNOPSIS 🌸

void ice_sched_clear_rl_prof (struct ice_port_info *pi );

thats it. that's the whole signature. short king energy πŸ‘‘

πŸŽ€ ARGUMENTS πŸŽ€

  • pi β€” the port information structure. this is the port whose stuff is getting wiped, so like… hand it over correctly, okay? πŸ™ˆ

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so the actual tea: this function removes all RL profile from HW as well as from SW DB. like, both. hardware side, software side, everything. not "some", not "the unused ones" β€” all of them, periodt. if you were attached to those profiles, that's between you and your scheduler πŸ”₯

it returns nothing (void), so no exit status to check, no return value to obsess over. it just does the thing and dips πŸ’…

πŸ‘‘ SEE ALSO πŸ‘‘

the whole friend group, fr fr β€” literally the entire ice_sched / ice_aq clique shows up here, it's giving group chat roll call 🌈:

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_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_rm_agg_cfg_tc(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)

also, the source itself lives at Kernel file ./drivers/net/ethernet/intel/ice/ice_sched.c β€” that's where the magic happens, go read it if you're nosy 🧚


🫢 friendly reminder: this one nukes every RL profile for that port, on HW and in the SW DB. it's not a "remove one" tool, bestie β€” that's what the *_rm_rl_profile friends are for. read twice, call once πŸ’œ

and that's the whole page, no cap 🌸 it's from the ./drivers/net/ethernet/intel/ice corner of the kernel, dated October 2026 β€” mwah, iconic, no notes, bye bestie πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from