i40e_pf_wait...ues_disabled(9)
β¨ okay so welcome to the Kernel API Manual, bestie β this is the page for i40e_pf_wait_queues_disabled(9), and the header up top literally spells it i40e_pf_wait...ues_disabled(9) because terminals have zero patience for long names π we do not judge, we just cope.
π NAME π
i40e_pf_wait_queues_disabled β wait for all queues of PF VSIs to be disabled. that's the whole vibe. it waits. it's a waiter. iconic behavior honestly π«Ά
π¦ SYNOPSIS π¦
int i40e_pf_wait_queues_disabled (struct i40e_pf *pf );
πΈ ARGUMENTS πΈ
pfβ the PF. that's it, that's the entire argument list, no hidden extras, no plot twists β¨
π DESCRIPTION π
okay so here's the tea β this function waits for the queues to be in the disabled state β and not just one queue, not just one VSI, but all the VSIs that are managed by this PF. so like, every queue under this PF's little kingdom has to actually be off before this returns. it's giving "group chat waiting for everyone to confirm the plan" energy, except here nobody gets to leave until the queues are truly disabled ππ
π₯ SEE ALSO π₯
first up, the kernel file where the magic lives:
./drivers/net/ethernet/intel/i40e/i40e_main.c
and then the entire i40e cinematic universe, in original order, no cap π:
i40e_hw_to_dev(9),i40e_allocate_dma_mem(9),i40e_free_dma_mem(9),i40e_allocate_virt_mem(9),i40e_free_virt_mem(9),i40e_get_lump(9),i40e_put_lump(9),i40e_find_vsi_from_id(9),i40e_service_event_schedule(9),i40e_tx_timeout(9),i40e_get_vsi_stats_struct(9),i40e_get_netdev_stats_struct_tx(9),i40e_get_netdev_stats_struct(9),i40e_vsi_reset_stats(9),i40e_pf_reset_stats(9),i40e_compute_pci_to_hw_id(9),i40e_stat_update64(9),i40e_stat_update48(9),i40e_stat_update32(9),i40e_stat_update_and_clear32(9),i40e_stats_update_rx_discards(9),i40e_update_eth_stats(9),i40e_update_veb_stats(9),i40e_update_vsi_stats(9),i40e_update_pf_stats(9),i40e_update_stats(9),i40e_count_all_filters(9),i40e_count_active_filters(9),i40e_find_filter(9),i40e_find_mac(9),i40e_is_vsi_in_vlan(9),i40e_correct_mac_vlan_filters(9),i40e_get_vf_new_vlan(9),i40e_correct_vf_mac_vlan_filters(9),i40e_rm_default_mac_filter(9),i40e_add_filter(9),__i40e_del_filter(9),i40e_add_mac_filter(9),i40e_del_mac_filter(9),i40e_set_mac(9),i40e_config_rss_aq(9),i40e_vsi_config_rss(9),i40e_vsi_setup_queue_map_mqprio(9),i40e_vsi_setup_queue_map(9),i40e_addr_sync(9),i40e_addr_unsync(9),i40e_set_rx_mode(9),i40e_undo_del_filter_entries(9),i40e_undo_add_filter_entries(9),i40e_next_filter(9),i40e_update_filter_state(9),i40e_aqc_del_filters(9),i40e_aqc_add_filters(9),i40e_aqc_broadcast_filter(9),i40e_set_promiscuous(9),i40e_sync_vsi_filters(9),i40e_sync_filters_subtask(9),i40e_calculate_vsi_rx_buf_len(9),i40e_max_vsi_frame_size(9),i40e_change_mtu(9),i40e_vlan_stripping_enable(9),i40e_vlan_stripping_disable(9),i40e_add_vlan_all_mac(9),i40e_vsi_add_vlan(9),i40e_rm_vlan_all_mac(9),i40e_vsi_kill_vlan(9),i40e_vlan_rx_add_vid(9),i40e_vlan_rx_add_vid_up(9),i40e_vlan_rx_kill_vid(9),i40e_restore_vlan(9),i40e_vsi_add_pvid(9),i40e_vsi_remove_pvid(9),i40e_vsi_setup_tx_resources(9),i40e_vsi_free_tx_resources(9),i40e_vsi_setup_rx_resources(9),i40e_vsi_free_rx_resources(9),i40e_config_xps_tx_ring(9),i40e_xsk_pool(9),i40e_configure_tx_ring(9),i40e_rx_offset(9),i40e_configure_rx_ring(9),i40e_vsi_configure_tx(9),i40e_vsi_configure_rx(9),i40e_vsi_config_dcb_rings(9),i40e_set_vsi_rx_mode(9),i40e_reset_fdir_filter_cnt(9),i40e_fdir_filter_restore(9),i40e_vsi_configure(9),i40e_vsi_configure_msix(9),i40e_enable_misc_int_causes(9),i40e_configure_msi_and_legacy(9),i40e_irq_dynamic_disable_icr0(9),i40e_irq_dynamic_enable_icr0(9),i40e_msix_clean_rings(9),i40e_irq_affinity_notify(9),i40e_irq_affinity_release(9),i40e_vsi_request_irq_msix(9),i40e_vsi_disable_irq(9),i40e_vsi_enable_irq(9),i40e_free_misc_vector(9),i40e_intr(9),i40e_clean_fdir_tx_irq(9),i40e_fdir_clean_ring(9),i40e_map_vector_to_qp(9),i40e_vsi_map_rings_to_vectors(9),i40e_vsi_request_irq(9),i40e_netpoll(9),i40e_pf_txq_wait(9),i40e_control_tx_q(9),i40e_control_wait_tx_q(9),i40e_vsi_enable_tx(9),i40e_pf_rxq_wait(9),i40e_control_rx_q(9),i40e_control_wait_rx_q(9),i40e_vsi_enable_rx(9),i40e_vsi_start_rings(9),i40e_vsi_stop_rings(9),i40e_vsi_stop_rings_no_wait(9),i40e_vsi_free_irq(9),i40e_free_q_vector(9),i40e_vsi_free_q_vectors(9),i40e_reset_interrupt_capability(9),i40e_clear_interrupt_scheme(9),i40e_napi_enable_all(9),i40e_napi_disable_all(9),i40e_vsi_close(9),i40e_quiesce_vsi(9),i40e_unquiesce_vsi(9),i40e_pf_quiesce_all_vsi(9),i40e_pf_unquiesce_all_vsi(9),i40e_vsi_wait_queues_disabled(9),i40e_get_iscsi_tc_map(9),i40e_dcb_get_num_tc(9),i40e_dcb_get_enabled_tc(9),i40e_mqprio_get_enabled_tc(9),i40e_pf_get_num_tc(9),i40e_pf_get_tc_map(9),i40e_vsi_get_bw_info(9),i40e_vsi_configure_bw_alloc(9),i40e_vsi_config_netdev_tc(9),i40e_vsi_update_queue_map(9),i40e_update_adq_vsi_queues(9),i40e_vsi_config_tc(9),i40e_vsi_reconfig_tc(9),i40e_get_link_speed(9),i40e_bw_bytes_to_mbits(9),i40e_set_bw_limit(9),i40e_remove_queue_channels(9),i40e_get_max_queues_for_channel(9),i40e_validate_num_queues(9),i40e_vsi_reconfig_rss(9),i40e_channel_setup_queue_map(9),i40e_add_channel(9),i40e_channel_config_tx_ring(9),i40e_setup_hw_channel(9),i40e_setup_channel(9),i40e_validate_and_set_switch_mode(9),i40e_create_queue_channel(9),i40e_configure_queue_channels(9),i40e_veb_config_tc(9),i40e_dcb_reconfigure(9),i40e_resume_port_tx(9),i40e_suspend_port_tx(9),i40e_hw_set_dcb_config(9),i40e_hw_dcb_config(9),i40e_dcb_sw_default_config(9),i40e_init_pf_dcb(9),i40e_print_link_message(9),i40e_up_complete(9),i40e_vsi_reinit_locked(9),i40e_force_link_state(9),i40e_up(9),i40e_down(9),i40e_validate_mqprio_qopt(9),i40e_vsi_set_default_tc_config(9),i40e_del_macvlan_filter(9),i40e_add_macvlan_filter(9),i40e_reset_ch_rings(9),i40e_free_macvlan_channels(9),i40e_fwd_ring_up(9),i40e_setup_macvlans(9),i40e_fwd_add(9),i40e_del_all_macvlans(9),i40e_fwd_del(9),i40e_setup_tc(9),i40e_set_cld_element(9),i40e_add_del_cloud_filter(9),i40e_add_del_cloud_filter_big_buf(9),i40e_parse_cls_flower(9),i40e_handle_tclass(9),i40e_configure_clsflower(9),i40e_find_cloud_filter(9),i40e_delete_clsflower(9),i40e_setup_tc_cls_flower(9),i40e_open(9),i40e_netif_set_realnum_tx_rx_queues(9),i40e_vsi_open(9),i40e_fdir_filter_exit(9),i40e_cloud_filter_exit(9),i40e_close(9),i40e_do_reset(9),i40e_dcb_need_reconfig(9),i40e_handle_lldp_event(9),i40e_do_reset_safe(9),i40e_handle_lan_overflow_event(9),i40e_get_current_fd_count(9),i40e_get_global_fd_count(9),i40e_reenable_fdir_sb(9),i40e_reenable_fdir_atr(9),i40e_delete_invalid_filter(9),i40e_fdir_check_and_reenable(9),i40e_fdir_flush_and_replay(9),i40e_get_current_atr_cnt(9),i40e_fdir_reinit_subtask(9),i40e_vsi_link_event(9),i40e_veb_link_event(9),i40e_link_event(9),i40e_watchdog_subtask(9),i40e_reset_subtask(9),i40e_handle_link_event(9),i40e_clean_adminq_subtask(9),i40e_verify_eeprom(9),i40e_enable_pf_switch_lb(9),i40e_disable_pf_switch_lb(9),i40e_config_bridge_mode(9),i40e_reconstitute_veb(9),i40e_get_capabilities(9),i40e_fdir_sb_setup(9),i40e_fdir_teardown(9),i40e_rebuild_cloud_filters(9),i40e_rebuild_channels(9),i40e_clean_xps_state(9),i40e_prep_for_reset(9),i40e_send_version(9),i40e_get_oem_version(9),i40e_reset(9),i40e_rebuild(9),i40e_reset_and_rebuild(9),i40e_handle_reset_warning(9),i40e_print_vf_mdd_event(9),i40e_print_vfs_mdd_events(9),i40e_handle_mdd_event(9),i40e_service_task(9),i40e_service_timer(9),i40e_set_num_rings_in_vsi(9),i40e_vsi_alloc_arrays(9),i40e_vsi_mem_alloc(9),i40e_vsi_free_arrays(9),i40e_clear_rss_config_user(9),i40e_vsi_clear(9),i40e_vsi_clear_rings(9),i40e_alloc_rings(9),i40e_reserve_msix_vectors(9),i40e_init_msix(9),i40e_vsi_alloc_q_vector(9),i40e_vsi_alloc_q_vectors(9),i40e_init_interrupt_scheme(9),i40e_restore_interrupt_scheme(9),i40e_setup_misc_vector_for_recovery_mode(9),i40e_setup_misc_vector(9),i40e_get_rss_aq(9),i40e_config_rss_reg(9),i40e_get_rss_reg(9),i40e_config_rss(9),i40e_get_rss(9),i40e_fill_rss_lut(9),i40e_pf_config_rss(9),i40e_reconfig_rss_queues(9),i40e_get_partition_bw_setting(9),i40e_set_partition_bw_setting(9),i40e_is_total_port_shutdown_enabled(9),i40e_sw_init(9),i40e_set_ntuple(9),i40e_clear_rss_lut(9),i40e_set_loopback(9),i40e_set_features(9),i40e_ndo_fdb_add(9),i40e_ndo_bridge_setlink(9),i40e_ndo_bridge_getlink(9),i40e_features_check(9),i40e_xdp_setup(9),i40e_enter_busy_conf(9),i40e_exit_busy_conf(9),i40e_queue_pair_reset_stats(9),i40e_queue_pair_clean_rings(9),i40e_queue_pair_toggle_napi(9),i40e_queue_pair_toggle_rings(9),i40e_queue_pair_enable_irq(9),i40e_queue_pair_disable_irq(9),i40e_queue_pair_disable(9),i40e_queue_pair_enable(9),i40e_xdp(9),i40e_config_netdev(9),i40e_vsi_delete(9),i40e_is_vsi_uplink_mode_veb(9),i40e_add_vsi(9),i40e_vsi_release(9),i40e_vsi_setup_vectors(9),i40e_vsi_reinit_setup(9),i40e_vsi_setup(9),i40e_veb_get_bw_info(9),i40e_veb_mem_alloc(9),i40e_switch_branch_release(9),i40e_veb_clear(9),i40e_veb_release(9),i40e_add_veb(9),i40e_veb_setup(9),i40e_setup_pf_switch_element(9),i40e_fetch_switch_configuration(9),i40e_setup_pf_switch(9),i40e_determine_queue_usage(9),i40e_setup_pf_filter_control(9),i40e_get_platform_mac_addr(9),i40e_set_fec_in_flags(9),i40e_check_recovery_mode(9),i40e_pf_loop_reset(9),i40e_check_fw_empr(9),i40e_handle_resets(9),i40e_init_recovery_mode(9),i40e_set_subsystem_device_id(9),i40e_probe(9),i40e_remove(9),i40e_enable_mc_magic_wake(9),i40e_io_suspend(9),i40e_io_resume(9),i40e_pci_error_detected(9),i40e_pci_error_slot_reset(9),i40e_pci_error_reset_prepare(9),i40e_pci_error_reset_done(9),i40e_pci_error_resume(9),i40e_shutdown(9),i40e_suspend(9),i40e_resume(9),i40e_init_module(9),i40e_exit_module(9)
okay and that's the whole page bestie, you ate that π before you go: this little gem lives at ./drivers/net/ethernet/intel/i40e, and it's stamped October 2026 β so like, from the future, main character energy fr fr β¨π mwah, go disable 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