ice_create_all_ctrlq(9)
π ice_create_all_ctrlq β the main initialization routine for all control queues π
okay so this is from the Kernel API Manual (section 9, kernel-space girlies know) and it's literally the glow-up routine for every single control queue at once. bestie, let's get into it β¨
πΈ SYNOPSIS πΈ
int ice_create_all_ctrlq (struct ice_hw *hw );
that's it. one function. one shot. one vibe check for the whole control queue situation π«Ά
π ARGUMENTS π
hwβ pointer to the hardware structure. that's your hardware bestie, the whole struct, the main character of this story π
β¨ DESCRIPTION β¨
okay so listen up because this part is not a suggestion, it's a whole prerequisite era π
Prior to calling this function, the driver MUST set the following fields in the cq-> structure for all control queues:
cq->num_sq_entriescq->num_rq_entriescq->rq_buf_sizecq->sq_buf_size
yeah. all four. no skipping, no "I'll do it later," none of that π like I said, MUST β capital letters, italic, bold, the whole dramatic treatment.
So what does this function actually do? It creates all the control queue locks and then calls ice_init_all_ctrlq. cute little two-step. call it once during driver load β once, bestie, we're not doing that thing where you call it in a loop and act surprised π
If the driver needs to re-initialize control queues at run time, it should call ice_init_all_ctrlq instead. not this one. this one. is. for. load. time. periodt π₯
π SEE ALSO π
Kernel file ./drivers/net/ethernet/intel/ice/ice_controlq.c β that's the source file, go read it, it's giving homework but make it fashion π
and here's the whole friend group, the entire ice control queue cinematic universe:
ice_adminq_init_regs(9)ice_mailbox_init_regs(9)ice_sb_init_regs(9)ice_check_sq_alive(9)ice_alloc_ctrlq_sq_ring(9)ice_alloc_ctrlq_rq_ring(9)ice_free_cq_ring(9)ice_alloc_rq_bufs(9)ice_alloc_sq_bufs(9)ice_cfg_sq_regs(9)ice_cfg_rq_regs(9)ice_init_sq(9)ice_init_rq(9)ice_shutdown_sq(9)ice_aq_ver_check(9)ice_shutdown_rq(9)ice_init_check_adminq(9)ice_init_ctrlq(9)ice_is_sbq_supported(9)ice_get_sbq(9)ice_shutdown_ctrlq(9)ice_shutdown_all_ctrlq(9)ice_init_all_ctrlq(9)ice_init_ctrlq_locks(9)ice_destroy_ctrlq_locks(9)ice_destroy_all_ctrlq(9)ice_clean_sq(9)ice_ctl_q_str(9)ice_debug_cq(9)ice_sq_done(9)ice_sq_send_cmd(9)ice_fill_dflt_direct_cmd_desc(9)ice_clean_rq_elem(9)
that's the whole page, bestie, you ate that π
source: ./drivers/net/ethernet/intel/ice πΈ dated October 2026 π β mwah, go init some queues responsibly π§π
π¦ 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