i40e_stat_update64(9)
πΈ NAME πΈ
Okay so <pink>i40e_stat_update64</pink> β it reads a 64-bit stat off the chip and updates it. That's it, that's the whole vibe. π
Ngl this one's a little workhorse and we stan.
(This lil cutie lives in the Kernel API Manual, section 9. Iykyk. β¨)
β¨ SYNOPSIS β¨
void i40e_stat_update64 (struct i40e_hw *hw , u32 hireg , u32 loreg ,
bool offset_loaded , u64 *offset , u64 *stat );
Returns nothing (void), so don't go looking for a return value bestie, there isn't one π«Ά
π ARGUMENTS π
hwβ ptr to the hardware info. The main character struct, fr.hiregβ the high 32 bit reg to read. The upper half, the vibes half πΈloregβ the low 32 bit reg to read. The other half. Together they're giving 64-bit. πoffset_loadedβ has the initial offset been loaded yet?true/false, has it or has it not, that is the question πoffsetβ ptr to current offset value. We hold onto it for reasons (see below, it's giving subtraction).statβ ptr to the stat. This is where the number actually ends up. π―
π¦ DESCRIPTION π¦
So here's the tea: device stats are not reset at PFReset. Which means when the driver starts up, they are absolutely not gonna be zeroed β they're just sitting there with whatever accumulated value they had. Not cute. π
So the move is: we save the first values we read, and use them as offsets to be subtracted from the raw values. That way the stats we report count from zero like a fresh start β main character energy, brand new slate, zeroed out. β¨
Literally that's it. First read = baseline. Everything after = raw minus baseline. Periodt. π
π SEE ALSO π
Kernel file ./drivers/net/ethernet/intel/i40e/i40e_main.c β plus, and I cannot stress this enough, the entire extended i40e cinematic universe π:
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_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_pf_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)
That's the whole page bestie, go read a stat or something π
This one came straight out of ./drivers/net/ethernet/intel/i40e, dated October 2026 β iconic, no notes, slay πβ¨
π¦ 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