ice_sched_add_rl_profile(9)
π ice_sched_add_rl_profile(9) β like, the whole kernel API manual, but make it make sense π
okay so bestie, buckle up β this is a page from the Kernel API Manual (section 9, kernel-land, no cap) and it's all about adding an RL profile. yes it's as iconic as it sounds. let's go β¨
πΈ NAME πΈ
ice_sched_add_rl_profile β add RL profile. that's it. that's the vibe. π
π¦ SYNOPSIS π¦
struct ice_aqc_rl_profile_info * ice_sched_add_rl_profile (struct
ice_port_info *pi , enum ice_rl_type rl_type , u32 bw , u8 layer_num );
literally copy that exactly, character for character, bestie β don't be out here retyping from memory π
π ARGUMENTS π
piβ the port information structure. your port's whole personality, basically π«Άrl_typeβ the type of rate limit BW, and the options are min, max, or shared. pick one, bestie πbwβ bandwidth in Kbps, which is Kilo bits per sec (yes, bits, not bytes β read the label π)layer_numβ tells the function which layer to create the profile in. know your layer, own your layer π
β DESCRIPTION β
so here's the whole storyline π this function first checks the existing list for the corresponding BW parameter. if it's already there? it returns the associated profile, no drama, we love a shortcut π
if it's not there, it creates a new rate limit profile for the requested BW and adds it to the HW DB and local list. new profile, who dis β¨
it returns the new profile, or null on error (yes, null, lowercase n, that's how the page says it β don't come for me π).
π¨ important bestie alert: the caller needs to hold the scheduler lock. like, actually hold it. this is not a suggestion, this is the whole rules of the group chat π
π SEE ALSO π
the guest list is long β everyone showed up, and honestly? obsessed. here's the full roster, no cuts, no skips, fr fr π
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_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_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 kernel file itself lives at ./drivers/net/ethernet/intel/ice/ice_sched.c β that's the source, bestie, go read it if you want the full lore π
and that's the page!! π¦ mwah π this one's coming to you live from ./drivers/net/ethernet/intel/ice, October 2026 β same time next semester, bestie, stay slay, keep your locks held πβ¨π
π¦ 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