__ice_vsi_get_qs(9)
π __ice_vsi_get_qs(9) β like, the actual function name, bestie
Okay so real talk, this page lives in the Kernel API Manual section (9) and it's all about __ice_vsi_get_qs β the little helper function that handles assigning queues from the PF to the VSI π iykyk.
β¨ SYNOPSIS β¨
int __ice_vsi_get_qs (struct ice_qs_cfg *qs_cfg );
That's it. One function, one pointer, one int coming back at you π
π«Ά ARGUMENTS π«Ά
qs_cfgβ the little bundle of gathered variables you need for the pf->vsi queues assignment. It's literally carrying all the info for the handoff πΈ
π¦ DESCRIPTION π¦
So the way this works: __ice_vsi_get_qs first tries to find contiguous space. Contiguous. Like, all in a row, sitting pretty together β¨
If that doesn't work out? No stress. It pivots and tries with the scatter approach instead β spreading out, doing its own thing, still getting the job done π
And the return values, because we always check those:
0on success π-ENOMEMin case of no left space in the PF queue bitmap π (the bitmap is full, bestie, there's nowhere left to put anything)
Heads up: -ENOMEM here isn't about the system being out of memory in the usual sense β it means there's no left space in the PF queue bitmap. Read the error code, don't assume π
π SEE ALSO π
The kernel file this lives in, no cap:
./drivers/net/ethernet/intel/ice/ice_base.c
And here's the whole friend group β every single one of them, in order, exactly as listed, because we do not skip entries in this house π₯
__ice_vsi_get_qs_contig(9)__ice_vsi_get_qs_sc(9)ice_pf_rxq_wait(9)ice_vsi_alloc_q_vector(9)ice_free_q_vector(9)ice_cfg_itr_gran(9)ice_calc_txq_handle(9)ice_cfg_xps_tx_ring(9)ice_set_txq_ctx_vmvf(9)ice_setup_tx_ctx(9)ice_setup_txtime_ctx(9)ice_calc_ts_ring_count(9)ice_setup_rx_ctx(9)ice_vsi_cfg_rxq(9)ice_vsi_cfg_frame_size(9)ice_vsi_cfg_rxqs(9)ice_vsi_ctrl_one_rx_ring(9)ice_vsi_wait_one_rx_ring(9)ice_vsi_alloc_q_vectors(9)ice_vsi_map_rings_to_vectors(9)ice_vsi_free_q_vectors(9)ice_cfg_tstamp(9)ice_vsi_cfg_txq(9)ice_vsi_cfg_txqs(9)ice_vsi_cfg_lan_txqs(9)ice_vsi_cfg_xdp_txqs(9)ice_cfg_itr(9)ice_cfg_txq_interrupt(9)ice_cfg_rxq_interrupt(9)ice_trigger_sw_intr(9)ice_vsi_stop_tx_ring(9)ice_fill_txq_meta(9)ice_qp_reset_stats(9)ice_qp_clean_rings(9)ice_qp_dis(9)ice_qp_ena(9)
And that's the whole vibe check, bestie π§ Signing off from ./drivers/net/ethernet/intel/ice β this page is dated October 2026, and the man page itself is __ice_vsi_get_qs(9). Go forth and assign those queues ππβ
π¦ 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