e1000_update_itr(9)
π e1000_update_itr
ok so this is a page from the Kernel API Manual bestie, and it's about one tiny little function in the e1000 driver that does β¨mathβ¨ on your network traffic. buckle up, it's shorter than it looks and lowkey kind of iconic π
β¨ NAME β¨
e1000_update_itr β update the dynamic ITR value based on statistics π«
like fr that's the whole vibe. it looks at the stats and it updates the ITR. slay.
π¦ SYNOPSIS π¦
unsigned int e1000_update_itr (u16 itr_setting , int packets , int bytes
);
that's it. three args in, one unsigned int out. no cap. π«Ά
πΈ ARGUMENTS πΈ
itr_settingβ this is the currentadapter->itr, aka the setting we're working with right now. it's au16, bestie, so keep it in range πpacketsβ the number of packets during this measurement interval. anint. count 'em πbytesβ the number of bytes during this measurement interval. also anint. more bytes, more data, more vibes π
π₯ DESCRIPTION π₯
okay so what this does: it stores a new ITR value based on packets and byte counts during the last interrupt. the way that it's per interrupt is literally the whole point β the advantage of per interrupt computation is faster updates and more accurate ITR for the current traffic pattern. iykyk π§
and listen, the constants in this function weren't just vibes β they were computed based on theoretical maximum wire speed, and the thresholds were set based on testing data as well as attempting to minimize response time while increasing bulk throughput. ngl that's kind of a flex πβ¨
π«Ά quick heads up: this whole functionality is controlled by the InterruptThrottleRate module parameter. so if you're wondering why it's not doing anything β that's your girl to go talk to. π
π SEE ALSO π
first up, the kernel file β go read the source, bestie, it's right there:
- Kernel file
./drivers/net/ethernet/intel/e1000e/netdev.c
and here's the whole friend group, in the exact order they showed up π:
__ew32_prepare(9)e1000_regdump(9)e1000e_dump(9)e1000_desc_unused(9)e1000e_systim_to_hwtstamp(9)e1000e_rx_hwtstamp(9)e1000_receive_skb(9)e1000_rx_checksum(9)e1000_alloc_rx_buffers(9)e1000_alloc_rx_buffers_ps(9)e1000_alloc_jumbo_rx_buffers(9)e1000_clean_rx_irq(9)e1000e_tx_hwtstamp_work(9)e1000_clean_tx_irq(9)e1000_clean_rx_irq_ps(9)e1000_clean_jumbo_rx_irq(9)e1000_clean_rx_ring(9)e1000_intr_msi(9)e1000_intr(9)e1000_configure_msix(9)e1000e_set_interrupt_capability(9)e1000_request_msix(9)e1000_request_irq(9)e1000_irq_disable(9)e1000_irq_enable(9)e1000e_get_hw_control(9)e1000e_release_hw_control(9)e1000_alloc_ring_dma(9)e1000e_setup_tx_resources(9)e1000e_setup_rx_resources(9)e1000_clean_tx_ring(9)e1000e_free_tx_resources(9)e1000e_free_rx_resources(9)e1000e_write_itr(9)e1000_alloc_queues(9)e1000e_poll(9)e1000e_vlan_filter_disable(9)e1000e_vlan_filter_enable(9)e1000e_vlan_strip_disable(9)e1000e_vlan_strip_enable(9)e1000_configure_tx(9)e1000_setup_rctl(9)e1000_configure_rx(9)e1000e_write_mc_addr_list(9)e1000e_write_uc_addr_list(9)e1000e_set_rx_mode(9)e1000e_get_base_timinca(9)e1000e_config_hwtstamp(9)e1000_configure(9)e1000e_power_up_phy(9)e1000_power_down_phy(9)e1000_flush_tx_ring(9)e1000_flush_rx_ring(9)e1000_flush_desc_rings(9)e1000e_systim_reset(9)e1000e_reset(9)e1000e_trigger_lsc(9)e1000e_down(9)e1000e_sanitize_systim(9)e1000e_read_systim(9)e1000e_cyclecounter_read(9)e1000_sw_init(9)e1000_intr_msi_test(9)e1000_test_msi_interrupt(9)e1000_test_msi(9)e1000e_open(9)e1000e_close(9)e1000_set_mac(9)e1000e_update_phy_task(9)e1000_update_phy_info(9)e1000e_update_phy_stats(9)e1000e_update_stats(9)e1000_phy_read_status(9)e1000_watchdog(9)e1000_tx_timeout(9)e1000e_get_stats64(9)e1000_change_mtu(9)e1000e_hwtstamp_set(9)__e1000e_disable_aspm(9)e1000e_disable_aspm(9)e1000e_disable_aspm_locked(9)e1000_netpoll(9)e1000_io_error_detected(9)e1000_io_slot_reset(9)e1000_io_resume(9)e1000_probe(9)e1000_remove(9)e1000_init_module(9)e1000_exit_module(9)
that's the whole page, bestie β go update that ITR and have a gorgeous day ππ¦
source/version: ./drivers/net/ethernet/intel/e... Β· dated October 2026 Β· and yes, it's still signed e1000_update_itr(9) at the bottom, we love consistency π
π¦ 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