ice_sched_a..._to_hw_layer(9)
π ice_sched_add_nodes_to_hw_layer(9) π
ok so bestie, this is a page from the Kernel API Manual and it's about one little function that helps the ice driver build out its scheduling tree. it's giving "construction crew but make it silicon" ποΈβ¨
β¨ NAME β¨
ice_sched_add_nodes_to_hw_layer β literally adds nodes to a HW layer. that's the whole vibe. π
πΈ SYNOPSIS πΈ
int ice_sched_add_nodes_to_hw_layer (struct ice_port_info *pi , struct
ice_sched_node *tc_node , struct ice_sched_node *parent , u8 layer , u16
num_nodes , u32 *first_node_teid , u16 *num_nodes_added );
π¦ ARGUMENTS π¦
okay so here's who's coming to the party, keep up π
piβ the port information structure. it's the port's whole little info hub, no cap.tc_nodeβ pointer to the TC node. that's your traffic-class node, main character of this subtree πparentβ pointer to the parent node. everybody's got a parent, it's fine πlayerβ the layer number where you wanna add the nodes. pick your floor, bestie β¨num_nodesβ how many nodes you're adding. yes the count matters, don't be shy πfirst_node_teidβ pointer to the first node TEID. it's a pointer, so it can hand info back to you, iykyk π«Άnum_nodes_addedβ pointer to the number of nodes added. also a pointer. also giving info back. we love a two-way street π
π₯ DESCRIPTION π₯
short and sweet: this function adds nodes into a specific HW layer. that's it, that's the whole thing πβ¨
like, you point it at a parent in your scheduling tree, you tell it which layer and how many nodes, and it goes and does the thing. iconic behavior honestly π
π SEE ALSO π
the friend group is huge, so buckle up π§ββοΈ β these all live in the kernel file ./drivers/net/ethernet/intel/ice/ice_sched.c π
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_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)
π a lil sign-off π
this page came from ./drivers/net/ethernet/intel/ice, dated October 2026 β so like, fully future-dated, we stan a time traveler βπ go build your scheduling tree bestie, you got this π«Άβ¨
π¦ 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