__ice_chk_linearize(9)
π
__ice_chk_linearize(9) β Kernel API Manual π
okay so hi bestie π«Ά this is the __ice_chk_linearize(9) page from the Kernel API Manual, and it's honestly a whole vibe check for packet buffers. let's get into it β¨
πΈ NAME πΈ
__ice_chk_linearize β check if there are more than 8 buffers per packet π
β¨ SYNOPSIS β¨
bool __ice_chk_linearize (struct sk_buff *skb );
π¦ ARGUMENTS π¦
skbβ send buffer π
π₯ NOTE π₯
π¨ real talk bestie: this HW can't DMA more than 8 buffers to build a packet on the wire, so we need to figure out the cases where we need to linearize the skb. no cap.
For TSO we need to count the TSO header and segment payload separately π.
As such we need to check cases where we have 7 fragments or more, because we can potentially require 9 DMA transactions: 1 for the TSO header, 1 for the segment payload in the first descriptor, and another 7 for the fragments ππ₯.
π SEE ALSO π
the whole squad is here, bestie β run don't walk π :
- Kernel file
./drivers/net/ethernet/intel/ice/ice_txrx.c ice_prgm_fdir_fltr(9)ice_unmap_and_free_tx_buf(9)ice_clean_tstamp_ring(9)ice_free_tstamp_ring(9)ice_free_tx_tstamp_ring(9)ice_clean_tx_ring(9)ice_free_tx_ring(9)ice_clean_tx_irq(9)ice_alloc_tstamp_ring(9)ice_setup_tstamp_ring(9)ice_alloc_setup_tstamp_ring(9)ice_setup_tx_ring(9)ice_clean_rx_ring(9)ice_free_rx_ring(9)ice_setup_rx_ring(9)ice_run_xdp(9)ice_xmit_xdp_ring(9)ice_xdp_xmit(9)ice_init_ctrl_rx_descs(9)ice_alloc_rx_bufs(9)ice_clean_ctrl_rx_irq(9)ice_clean_rx_irq(9)ice_net_dim(9)ice_buildreg_itr(9)ice_enable_interrupt(9)ice_set_wb_on_itr(9)ice_napi_poll(9)__ice_maybe_stop_tx(9)ice_maybe_stop_tx(9)ice_tx_map(9)ice_tx_csum(9)ice_tx_prepare_vlan_flags(9)ice_tso(9)ice_txd_use_count(9)ice_xmit_desc_count(9)ice_chk_linearize(9)ice_tstamp(9)ice_xmit_frame_ring(9)ice_start_xmit(9)ice_get_dscp_up(9)ice_clean_ctrl_tx_irq(9)
and that's the whole page, bestie π«Ά this one lives under ./drivers/net/ethernet/intel/ice, is dated October 2026, comes from the Kernel API Manual, and is filed as __ice_chk_linearize(9) β periodt πβ¨
π¦ 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