i40e_buildreg_itr(9)
Bestie, weβre looking at the i40e_buildreg_itr(9) page from the Kernel API Manual, and itβs literally all about building a value for writing to the I40E_PFINT_DYN_CTLN register. π
β¨
π NAME π
i40e_buildreg_itr β build a value for writing to I40E_PFINT_DYN_CTLN register.
β SYNOPSIS β
Hereβs the exact signature, bestie β keep it character-for-character:
u32 i40e_buildreg_itr (enum i40e_dyn_idx itr_idx , u16 interval , bool
force_swint );
π¦ ARGUMENTS π¦
itr_idxβ the interrupt throttling index. Thatβs the vibe.intervalβ the interrupt throttling interval value in usecs. π«Άforce_swintβ force software interrupt. Simple as that.
π DESCRIPTION π
Okay so hereβs the tea: this function builds a value for the I40E_PFINT_DYN_CTLN register, and that value is used to update the interrupt throttling interval for the specified ITR index and, optionally, to enforce a software interrupt. π
Now the conditionals, because they matter: if itr_idx is equal to I40E_ITR_NONE, then no interval change is applied, and only the force_swint parameter is taken into account. π«Ά
And if the interval change and enforced software interrupt are not requested, then the built value just enables the appropriate vector interrupt. Thatβs the whole flow, no cap. β¨
π SEE ALSO π
Kernel file ./drivers/net/ethernet/intel/i40e/i40e_txrx.c is in the group chat too, along with the whole i40e friend group:
i40e_fdir(9)i40e_program_fdir_filter(9)i40e_create_dummy_packet(9)i40e_create_dummy_udp_packet(9)i40e_create_dummy_tcp_packet(9)i40e_create_dummy_sctp_packet(9)i40e_prepare_fdir_filter(9)i40e_change_filter_num(9)i40e_add_del_fdir_udp(9)i40e_add_del_fdir_tcp(9)i40e_add_del_fdir_sctp(9)i40e_add_del_fdir_ip(9)i40e_add_del_fdir(9)i40e_fd_handle_status(9)i40e_unmap_and_free_tx_resource(9)i40e_clean_tx_ring(9)i40e_free_tx_resources(9)i40e_get_tx_pending(9)i40e_detect_recover_hung(9)i40e_clean_tx_irq(9)i40e_enable_wb_on_itr(9)i40e_force_wb(9)i40e_update_itr(9)i40e_reuse_rx_page(9)i40e_clean_programming_status(9)i40e_setup_tx_descriptors(9)i40e_clean_rx_ring(9)i40e_free_rx_resources(9)i40e_setup_rx_descriptors(9)i40e_release_rx_desc(9)i40e_alloc_mapped_page(9)i40e_alloc_rx_buffers(9)i40e_rx_checksum(9)i40e_rx_hash(9)i40e_process_skb_fields(9)i40e_cleanup_headers(9)i40e_can_reuse_rx_page(9)i40e_rx_buffer_flip(9)i40e_get_rx_buffer(9)i40e_put_rx_buffer(9)i40e_process_rx_buffs(9)i40e_construct_skb(9)i40e_build_skb(9)i40e_is_non_eop(9)i40e_run_xdp(9)i40e_xdp_ring_update_tail(9)i40e_update_rx_stats(9)i40e_finalize_xdp_rx(9)i40e_inc_ntp(9)i40e_add_xdp_frag(9)i40e_consume_xdp_buff(9)i40e_clean_rx_irq(9)i40e_update_enable_itr(9)i40e_napi_poll(9)i40e_atr(9)i40e_tx_prepare_vlan_flags(9)i40e_tso(9)i40e_tsyn(9)i40e_tx_enable_csum(9)i40e_create_tx_ctx(9)__i40e_maybe_stop_tx(9)__i40e_chk_linearize(9)i40e_tx_map(9)i40e_xmit_xdp_ring(9)i40e_xmit_frame_ring(9)i40e_lan_xmit_frame(9)i40e_xdp_xmit(9)
And thatβs the page, bestie! π«Ά This oneβs from the Kernel API Manual, with source/version path ./drivers/net/ethernet/intel/i40e, dated October 2026, and itβs literally the i40e_buildreg_itr(9) page. 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