i40e_vsi_free_q_vectors(9)
๐ NAME ๐
i40e_vsi_free_q_vectors โ bestie, this one frees the memory that was allocated for the interrupt vectors โจ
๐ SYNOPSIS ๐
void i40e_vsi_free_q_vectors (struct i40e_vsi *vsi );
๐ฆ ARGUMENTS ๐ฆ
vsiโ the VSI that's currently being un-configured, aka the thing we're packing up ๐
๐ธ DESCRIPTION ๐ธ
Okay so real talk: this function frees the memory that was allocated to the q_vectors, and it also deletes the references to the NAPI struct. That's the whole vibe check โ memory goes bye-bye, NAPI references get cleaned out. Periodt ๐ซถ
โญ SEE ALSO โญ
Everything below is in the kernel file ./drivers/net/ethernet/intel/i40e/i40e_main.c, and honestly? The friend group is huge. No cap, here's the whole roster ๐
./drivers/net/ethernet/intel/i40e/i40e_main.cโ the kernel file where all of this lives ๐i40e_hw_to_dev,i40e_allocate_dma_mem,i40e_free_dma_mem,i40e_allocate_virt_mem,i40e_free_virt_mem,i40e_get_lumpโ the memory-management girlies ๐งi40e_put_lump,i40e_find_vsi_from_id,i40e_service_event_schedule,i40e_tx_timeout,i40e_get_vsi_stats_struct,i40e_get_netdev_stats_struct_txโ the lookup and stats crew ๐i40e_get_netdev_stats_struct,i40e_vsi_reset_stats,i40e_pf_reset_stats,i40e_compute_pci_to_hw_id,i40e_stat_update64,i40e_stat_update48โ numbers besties, so many numbers ๐ฅi40e_stat_update32,i40e_stat_update_and_clear32,i40e_stats_update_rx_discards,i40e_update_eth_stats,i40e_update_veb_stats,i40e_update_vsi_statsโ more updating, we stay busy ๐i40e_update_pf_stats,i40e_update_stats,i40e_count_all_filters,i40e_count_active_filters,i40e_find_filter,i40e_find_macโ filter-hunting squad ๐i40e_is_vsi_in_vlan,i40e_correct_mac_vlan_filters,i40e_get_vf_new_vlan,i40e_correct_vf_mac_vlan_filters,i40e_rm_default_mac_filter,i40e_add_filterโ the MAC/VLAN correction committee โจ__i40e_del_filter,i40e_add_mac_filter,i40e_del_mac_filter,i40e_set_mac,i40e_config_rss_aq,i40e_vsi_config_rssโ add it, delete it, RSS it ๐i40e_vsi_setup_queue_map_mqprio,i40e_vsi_setup_queue_map,i40e_addr_sync,i40e_addr_unsync,i40e_set_rx_mode,i40e_undo_del_filter_entriesโ queue map + address sync icons ๐i40e_undo_add_filter_entries,i40e_next_filter,i40e_update_filter_state,i40e_aqc_del_filters,i40e_aqc_add_filters,i40e_aqc_broadcast_filterโ the aqc filter girlies ๐ฆi40e_set_promiscuous,i40e_sync_vsi_filters,i40e_sync_filters_subtask,i40e_calculate_vsi_rx_buf_len,i40e_max_vsi_frame_size,i40e_change_mtuโ sync + sizing, iconic behavior ๐i40e_vlan_stripping_enable,i40e_vlan_stripping_disable,i40e_add_vlan_all_mac,i40e_vsi_add_vlan,i40e_rm_vlan_all_mac,i40e_vsi_kill_vlanโ VLAN on, VLAN off, we contain multitudes ๐i40e_vlan_rx_add_vid,i40e_vlan_rx_add_vid_up,i40e_vlan_rx_kill_vid,i40e_restore_vlan,i40e_vsi_add_pvid,i40e_vsi_remove_pvidโ vid stuff and pvid stuff, slay ๐ธi40e_vsi_setup_tx_resources,i40e_vsi_free_tx_resources,i40e_vsi_setup_rx_resources,i40e_vsi_free_rx_resources,i40e_config_xps_tx_ring,i40e_xsk_poolโ resources setup/free duo, they ate ๐ฅi40e_configure_tx_ring,i40e_rx_offset,i40e_configure_rx_ring,i40e_vsi_configure_tx,i40e_vsi_configure_rx,i40e_vsi_config_dcb_ringsโ ring configuring main characters ๐i40e_set_vsi_rx_mode,i40e_reset_fdir_filter_cnt,i40e_fdir_filter_restore,i40e_vsi_configure,i40e_vsi_configure_msix,i40e_enable_misc_int_causesโ configure arc, msix girlies ๐งi40e_configure_msi_and_legacy,i40e_irq_dynamic_disable_icr0,i40e_irq_dynamic_enable_icr0,i40e_msix_clean_rings,i40e_irq_affinity_notify,i40e_irq_affinity_releaseโ irq dynamic enable/disable + affinity besties โญi40e_vsi_request_irq_msix,i40e_vsi_disable_irq,i40e_vsi_enable_irq,i40e_free_misc_vector,i40e_intr,i40e_clean_fdir_tx_irqโ interrupts, on and off, forever ๐i40e_fdir_clean_ring,i40e_map_vector_to_qp,i40e_vsi_map_rings_to_vectors,i40e_vsi_request_irq,i40e_netpoll,i40e_pf_txq_waitโ mapping rings to vectors, iykyk ๐ฆi40e_control_tx_q,i40e_control_wait_tx_q,i40e_vsi_enable_tx,i40e_pf_rxq_wait,i40e_control_rx_q,i40e_control_wait_rx_qโ control it, wait for it, iconic ๐i40e_vsi_enable_rx,i40e_vsi_start_rings,i40e_vsi_stop_rings,i40e_vsi_stop_rings_no_wait,i40e_vsi_free_irq,i40e_free_q_vectorโ rings start/stop + free, very our era ๐i40e_reset_interrupt_capability,i40e_clear_interrupt_scheme,i40e_napi_enable_all,i40e_napi_disable_all,i40e_vsi_close,i40e_quiesce_vsiโ NAPI enable-all/disable-all SUPREMACY ๐i40e_unquiesce_vsi,i40e_pf_quiesce_all_vsi,i40e_pf_unquiesce_all_vsi,i40e_vsi_wait_queues_disabled,i40e_pf_wait_queues_disabled,i40e_get_iscsi_tc_mapโ quiesce/unquiesce bestie duo ๐ซถi40e_dcb_get_num_tc,i40e_dcb_get_enabled_tc,i40e_mqprio_get_enabled_tc,i40e_pf_get_num_tc,i40e_pf_get_tc_map,i40e_vsi_get_bw_infoโ TC map girlies, getters only ๐i40e_vsi_configure_bw_alloc,i40e_vsi_config_netdev_tc,i40e_vsi_update_queue_map,i40e_update_adq_vsi_queues,i40e_vsi_config_tc,i40e_vsi_reconfig_tcโ bandwidth + TC configuring, we stay booked ๐ฅi40e_get_link_speed,i40e_bw_bytes_to_mbits,i40e_set_bw_limit,i40e_remove_queue_channels,i40e_get_max_queues_for_channel,i40e_validate_num_queuesโ speed, limits, channel math ๐งฎi40e_vsi_reconfig_rss,i40e_channel_setup_queue_map,i40e_add_channel,i40e_channel_config_tx_ring,i40e_setup_hw_channel,i40e_setup_channelโ channel setup squad, obsessed โจi40e_validate_and_set_switch_mode,i40e_create_queue_channel,i40e_configure_queue_channels,i40e_veb_config_tc,i40e_dcb_reconfigure,i40e_resume_port_txโ switch mode + veb TC, very demure ๐ธi40e_suspend_port_tx,i40e_hw_set_dcb_config,i40e_hw_dcb_config,i40e_dcb_sw_default_config,i40e_init_pf_dcb,i40e_print_link_messageโ DCB config everything, no cap ๐ฆi40e_up_complete,i40e_vsi_reinit_locked,i40e_force_link_state,i40e_up,i40e_down,i40e_validate_mqprio_qoptโ up, down, reinit, the whole cycle ๐i40e_vsi_set_default_tc_config,i40e_del_macvlan_filter,i40e_add_macvlan_filter,i40e_reset_ch_rings,i40e_free_macvlan_channels,i40e_fwd_ring_upโ macvlan filter girlies ๐i40e_setup_macvlans,i40e_fwd_add,i40e_del_all_macvlans,i40e_fwd_del,i40e_setup_tc,i40e_set_cld_elementโ macvlan add/del + tc setup โญi40e_add_del_cloud_filter,i40e_add_del_cloud_filter_big_buf,i40e_parse_cls_flower,i40e_handle_tclass,i40e_configure_clsflower,i40e_find_cloud_filterโ cloud filter + flower parsing, fancy ๐บi40e_delete_clsflower,i40e_setup_tc_cls_flower,i40e_open,i40e_netif_set_realnum_tx_rx_queues,i40e_vsi_open,i40e_fdir_filter_exitโ open up, exit out ๐i40e_cloud_filter_exit,i40e_close,i40e_do_reset,i40e_dcb_need_reconfig,i40e_handle_lldp_event,i40e_do_reset_safeโ reset + lldp event handling, iconic ๐งi40e_handle_lan_overflow_event,i40e_get_current_fd_count,i40e_get_global_fd_count,i40e_reenable_fdir_sb,i40e_reenable_fdir_atr,i40e_delete_invalid_filterโ fdir counters + reenables ๐ฅi40e_fdir_check_and_reenable,i40e_fdir_flush_and_replay,i40e_get_current_atr_cnt,i40e_fdir_reinit_subtask,i40e_vsi_link_event,i40e_veb_link_eventโ flush, replay, reinit, ate ๐ซถi40e_link_event,i40e_watchdog_subtask,i40e_reset_subtask,i40e_handle_link_event,i40e_clean_adminq_subtask,i40e_verify_eepromโ subtask besties, always working ๐i40e_enable_pf_switch_lb,i40e_disable_pf_switch_lb,i40e_config_bridge_mode,i40e_reconstitute_veb,i40e_get_capabilities,i40e_fdir_sb_setupโ switch lb enable/disable girlies ๐i40e_fdir_teardown,i40e_rebuild_cloud_filters,i40e_rebuild_channels,i40e_clean_xps_state,i40e_prep_for_reset,i40e_send_versionโ teardown + rebuild, lowkey chaotic ๐i40e_get_oem_version,i40e_reset,i40e_rebuild,i40e_reset_and_rebuild,i40e_handle_reset_warning,i40e_print_vf_mdd_eventโ reset arc, main character energy ๐i40e_print_vfs_mdd_events,i40e_handle_mdd_event,i40e_service_task,i40e_service_timer,i40e_set_num_rings_in_vsi,i40e_vsi_alloc_arraysโ service task + alloc arrays, slay โจi40e_vsi_mem_alloc,i40e_vsi_free_arrays,i40e_clear_rss_config_user,i40e_vsi_clear,i40e_vsi_clear_rings,i40e_alloc_ringsโ mem alloc/free + ring clearing ๐i40e_reserve_msix_vectors,i40e_init_msix,i40e_vsi_alloc_q_vector,i40e_vsi_alloc_q_vectors,i40e_init_interrupt_scheme,i40e_restore_interrupt_schemeโ msix + q_vector alloc, literally us ๐ฆi40e_setup_misc_vector_for_recovery_mode,i40e_setup_misc_vector,i40e_get_rss_aq,i40e_config_rss_reg,i40e_get_rss_reg,i40e_config_rssโ RSS everything, get it and config it ๐ธi40e_get_rss,i40e_fill_rss_lut,i40e_pf_config_rss,i40e_reconfig_rss_queues,i40e_get_partition_bw_setting,i40e_set_partition_bw_settingโ LUT + partition bw, obsessed ๐ฅi40e_is_total_port_shutdown_enabled,i40e_sw_init,i40e_set_ntuple,i40e_clear_rss_lut,i40e_set_loopback,i40e_set_featuresโ features + loopback girlies ๐i40e_ndo_fdb_add,i40e_ndo_bridge_setlink,i40e_ndo_bridge_getlink,i40e_features_check,i40e_xdp_setup,i40e_enter_busy_confโ ndo crew + xdp setup โญi40e_exit_busy_conf,i40e_queue_pair_reset_stats,i40e_queue_pair_clean_rings,i40e_queue_pair_toggle_napi,i40e_queue_pair_toggle_rings,i40e_queue_pair_enable_irqโ queue pair squad, so many toggles ๐i40e_queue_pair_disable_irq,i40e_queue_pair_disable,i40e_queue_pair_enable,i40e_xdp,i40e_config_netdev,i40e_vsi_deleteโ enable/disable + netdev config ๐งi40e_is_vsi_uplink_mode_veb,i40e_add_vsi,i40e_vsi_release,i40e_vsi_setup_vectors,i40e_vsi_reinit_setup,i40e_vsi_setupโ VSI lifecycle icons ๐ซถi40e_veb_get_bw_info,i40e_veb_mem_alloc,i40e_switch_branch_release,i40e_veb_clear,i40e_veb_release,i40e_add_vebโ VEB besties, clear/release/add ๐i40e_veb_setup,i40e_setup_pf_switch_element,i40e_fetch_switch_configuration,i40e_setup_pf_switch,i40e_determine_queue_usage,i40e_setup_pf_filter_controlโ switch setup + queue usage ๐i40e_get_platform_mac_addr,i40e_set_fec_in_flags,i40e_check_recovery_mode,i40e_pf_loop_reset,i40e_check_fw_empr,i40e_handle_resetsโ platform addr + recovery mode checking ๐i40e_init_recovery_mode,i40e_set_subsystem_device_id,i40e_probe,i40e_remove,i40e_enable_mc_magic_wake,i40e_io_suspendโ probe/remove + magic wake, iconic ๐i40e_io_resume,i40e_pci_error_detected,i40e_pci_error_slot_reset,i40e_pci_error_reset_prepare,i40e_pci_error_reset_done,i40e_pci_error_resumeโ the whole PCI error arc, no skips ๐i40e_shutdown,i40e_suspend,i40e_resume,i40e_init_module,i40e_exit_moduleโ and the final boss trio + module init/exit ๐ฅ
And that's the post ๐ซถ huge thank you to ./drivers/net/ethernet/intel/i40e, dated October 2026 โ ilysm, mwah ๐โจ๐
๐ฆ 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