tcp_sock struct fast path usage breakdown¶
Type  | 
Name  | 
fastpath_tx_access  | 
fastpath_rx_access  | 
Comments  | 
|---|---|---|---|---|
struct inet_connection_sock  | 
inet_conn  | 
|||
u16  | 
tcp_header_len  | 
read_mostly  | 
read_mostly  | 
tcp_bound_to_half_wnd,tcp_current_mss(tx);tcp_rcv_established(rx)  | 
u16  | 
gso_segs  | 
read_mostly  | 
tcp_xmit_size_goal  | 
|
__be32  | 
pred_flags  | 
read_write  | 
read_mostly  | 
tcp_select_window(tx);tcp_rcv_established(rx)  | 
u64  | 
bytes_received  | 
read_write  | 
tcp_rcv_nxt_update(rx)  | 
|
u32  | 
segs_in  | 
read_write  | 
tcp_v6_rcv(rx)  | 
|
u32  | 
data_segs_in  | 
read_write  | 
tcp_v6_rcv(rx)  | 
|
u32  | 
rcv_nxt  | 
read_mostly  | 
read_write  | 
tcp_cleanup_rbuf,tcp_send_ack,tcp_inq_hint,tcp_transmit_skb,tcp_receive_window(tx);tcp_v6_do_rcv,tcp_rcv_established,tcp_data_queue,tcp_receive_window,tcp_rcv_nxt_update(write)(rx)  | 
u32  | 
copied_seq  | 
read_mostly  | 
tcp_cleanup_rbuf,tcp_rcv_space_adjust,tcp_inq_hint  | 
|
u32  | 
rcv_wup  | 
read_write  | 
__tcp_cleanup_rbuf,tcp_receive_window,tcp_receive_established  | 
|
u32  | 
snd_nxt  | 
read_write  | 
read_mostly  | 
tcp_rate_check_app_limited,__tcp_transmit_skb,tcp_event_new_data_sent(write)(tx);tcp_rcv_established,tcp_ack,tcp_clean_rtx_queue(rx)  | 
u32  | 
segs_out  | 
read_write  | 
__tcp_transmit_skb  | 
|
u32  | 
data_segs_out  | 
read_write  | 
__tcp_transmit_skb,tcp_update_skb_after_send  | 
|
u64  | 
bytes_sent  | 
read_write  | 
__tcp_transmit_skb  | 
|
u64  | 
bytes_acked  | 
read_write  | 
tcp_snd_una_update/tcp_ack  | 
|
u32  | 
dsack_dups  | 
|||
u32  | 
snd_una  | 
read_mostly  | 
read_write  | 
tcp_wnd_end,tcp_urg_mode,tcp_minshall_check,tcp_cwnd_validate(tx);tcp_ack,tcp_may_update_window,tcp_clean_rtx_queue(write),tcp_ack_tstamp(rx)  | 
u32  | 
snd_sml  | 
read_write  | 
tcp_minshall_check,tcp_minshall_update  | 
|
u32  | 
rcv_tstamp  | 
read_mostly  | 
tcp_ack  | 
|
u32  | 
lsndtime  | 
read_write  | 
tcp_slow_start_after_idle_check,tcp_event_data_sent  | 
|
u32  | 
last_oow_ack_time  | 
|||
u32  | 
compressed_ack_rcv_nxt  | 
|||
u32  | 
tsoffset  | 
read_mostly  | 
read_mostly  | 
tcp_established_options(tx);tcp_fast_parse_options(rx)  | 
struct list_head  | 
tsq_node  | 
|||
struct list_head  | 
tsorted_sent_queue  | 
read_write  | 
tcp_update_skb_after_send  | 
|
u32  | 
snd_wl1  | 
read_mostly  | 
tcp_may_update_window  | 
|
u32  | 
snd_wnd  | 
read_mostly  | 
read_mostly  | 
tcp_wnd_end,tcp_tso_should_defer(tx);tcp_fast_path_on(rx)  | 
u32  | 
max_window  | 
read_mostly  | 
tcp_bound_to_half_wnd,forced_push  | 
|
u32  | 
mss_cache  | 
read_mostly  | 
read_mostly  | 
tcp_rate_check_app_limited,tcp_current_mss,tcp_sync_mss,tcp_sndbuf_expand,tcp_tso_should_defer(tx);tcp_update_pacing_rate,tcp_clean_rtx_queue(rx)  | 
u32  | 
window_clamp  | 
read_mostly  | 
read_write  | 
tcp_rcv_space_adjust,__tcp_select_window  | 
u32  | 
rcv_ssthresh  | 
read_mostly  | 
__tcp_select_window  | 
|
u8  | 
scaling_ratio  | 
read_mostly  | 
read_mostly  | 
tcp_win_from_space  | 
struct  | 
tcp_rack  | 
|||
u16  | 
advmss  | 
read_mostly  | 
tcp_rcv_space_adjust  | 
|
u8  | 
compressed_ack  | 
|||
u8:2  | 
dup_ack_counter  | 
|||
u8:1  | 
tlp_retrans  | 
|||
u8:1  | 
tcp_usec_ts  | 
read_mostly  | 
read_mostly  | 
|
u32  | 
chrono_start  | 
read_write  | 
tcp_chrono_start/stop(tcp_write_xmit,tcp_cwnd_validate,tcp_send_syn_data)  | 
|
u32[3]  | 
chrono_stat  | 
read_write  | 
tcp_chrono_start/stop(tcp_write_xmit,tcp_cwnd_validate,tcp_send_syn_data)  | 
|
u8:2  | 
chrono_type  | 
read_write  | 
tcp_chrono_start/stop(tcp_write_xmit,tcp_cwnd_validate,tcp_send_syn_data)  | 
|
u8:1  | 
rate_app_limited  | 
read_write  | 
tcp_rate_gen  | 
|
u8:1  | 
fastopen_connect  | 
|||
u8:1  | 
fastopen_no_cookie  | 
|||
u8:1  | 
is_sack_reneg  | 
read_mostly  | 
tcp_skb_entail,tcp_ack  | 
|
u8:2  | 
fastopen_client_fail  | 
|||
u8:4  | 
nonagle  | 
read_write  | 
tcp_skb_entail,tcp_push_pending_frames  | 
|
u8:1  | 
thin_lto  | 
|||
u8:1  | 
recvmsg_inq  | 
|||
u8:1  | 
repair  | 
read_mostly  | 
tcp_write_xmit  | 
|
u8:1  | 
frto  | 
|||
u8  | 
repair_queue  | 
|||
u8:2  | 
save_syn  | 
|||
u8:1  | 
syn_data  | 
|||
u8:1  | 
syn_fastopen  | 
|||
u8:1  | 
syn_fastopen_exp  | 
|||
u8:1  | 
syn_fastopen_ch  | 
|||
u8:1  | 
syn_data_acked  | 
|||
u8:1  | 
is_cwnd_limited  | 
read_mostly  | 
tcp_cwnd_validate,tcp_is_cwnd_limited  | 
|
u32  | 
tlp_high_seq  | 
read_mostly  | 
tcp_ack  | 
|
u32  | 
tcp_tx_delay  | 
|||
u64  | 
tcp_wstamp_ns  | 
read_write  | 
tcp_pacing_check,tcp_tso_should_defer,tcp_update_skb_after_send  | 
|
u64  | 
tcp_clock_cache  | 
read_write  | 
read_write  | 
tcp_mstamp_refresh(tcp_write_xmit/tcp_rcv_space_adjust),__tcp_transmit_skb,tcp_tso_should_defer;timer  | 
u64  | 
tcp_mstamp  | 
read_write  | 
read_write  | 
tcp_mstamp_refresh(tcp_write_xmit/tcp_rcv_space_adjust)(tx);tcp_rcv_space_adjust,tcp_rate_gen,tcp_clean_rtx_queue,tcp_ack_update_rtt/tcp_time_stamp(rx);timer  | 
u32  | 
srtt_us  | 
read_mostly  | 
read_write  | 
tcp_tso_should_defer(tx);tcp_update_pacing_rate,__tcp_set_rto,tcp_rtt_estimator(rx)  | 
u32  | 
mdev_us  | 
read_write  | 
tcp_rtt_estimator  | 
|
u32  | 
mdev_max_us  | 
|||
u32  | 
rttvar_us  | 
read_mostly  | 
__tcp_set_rto  | 
|
u32  | 
rtt_seq  | 
read_write  | 
tcp_rtt_estimator  | 
|
struct minmax  | 
rtt_min  | 
read_mostly  | 
tcp_min_rtt/tcp_rate_gen,tcp_min_rtttcp_update_rtt_min  | 
|
u32  | 
packets_out  | 
read_write  | 
read_write  | 
tcp_packets_in_flight(tx/rx);tcp_slow_start_after_idle_check,tcp_nagle_check,tcp_rate_skb_sent,tcp_event_new_data_sent,tcp_cwnd_validate,tcp_write_xmit(tx);tcp_ack,tcp_clean_rtx_queue,tcp_update_pacing_rate(rx)  | 
u32  | 
retrans_out  | 
read_mostly  | 
tcp_packets_in_flight,tcp_rate_check_app_limited  | 
|
u32  | 
max_packets_out  | 
read_write  | 
tcp_cwnd_validate  | 
|
u32  | 
cwnd_usage_seq  | 
read_write  | 
tcp_cwnd_validate  | 
|
u16  | 
urg_data  | 
read_mostly  | 
tcp_fast_path_check  | 
|
u8  | 
ecn_flags  | 
read_write  | 
tcp_ecn_send  | 
|
u8  | 
keepalive_probes  | 
|||
u32  | 
reordering  | 
read_mostly  | 
tcp_sndbuf_expand  | 
|
u32  | 
reord_seen  | 
|||
u32  | 
snd_up  | 
read_write  | 
read_mostly  | 
tcp_mark_urg,tcp_urg_mode,__tcp_transmit_skb(tx);tcp_clean_rtx_queue(rx)  | 
struct tcp_options_received  | 
rx_opt  | 
read_mostly  | 
read_write  | 
tcp_established_options(tx);tcp_fast_path_on,tcp_ack_update_window,tcp_is_sack,tcp_data_queue,tcp_rcv_established,tcp_ack_update_rtt(rx)  | 
u32  | 
snd_ssthresh  | 
read_mostly  | 
tcp_update_pacing_rate  | 
|
u32  | 
snd_cwnd  | 
read_mostly  | 
read_mostly  | 
tcp_snd_cwnd,tcp_rate_check_app_limited,tcp_tso_should_defer(tx);tcp_update_pacing_rate  | 
u32  | 
snd_cwnd_cnt  | 
|||
u32  | 
snd_cwnd_clamp  | 
|||
u32  | 
snd_cwnd_used  | 
|||
u32  | 
snd_cwnd_stamp  | 
|||
u32  | 
prior_cwnd  | 
|||
u32  | 
prr_delivered  | 
|||
u32  | 
prr_out  | 
read_mostly  | 
read_mostly  | 
tcp_rate_skb_sent,tcp_newly_delivered(tx);tcp_ack,tcp_rate_gen,tcp_clean_rtx_queue(rx)  | 
u32  | 
delivered  | 
read_mostly  | 
read_write  | 
tcp_rate_skb_sent, tcp_newly_delivered(tx);tcp_ack, tcp_rate_gen, tcp_clean_rtx_queue (rx)  | 
u32  | 
delivered_ce  | 
read_mostly  | 
read_write  | 
tcp_rate_skb_sent(tx);tcp_rate_gen(rx)  | 
u32  | 
lost  | 
read_mostly  | 
tcp_ack  | 
|
u32  | 
app_limited  | 
read_write  | 
read_mostly  | 
tcp_rate_check_app_limited,tcp_rate_skb_sent(tx);tcp_rate_gen(rx)  | 
u64  | 
first_tx_mstamp  | 
read_write  | 
tcp_rate_skb_sent  | 
|
u64  | 
delivered_mstamp  | 
read_write  | 
tcp_rate_skb_sent  | 
|
u32  | 
rate_delivered  | 
read_mostly  | 
tcp_rate_gen  | 
|
u32  | 
rate_interval_us  | 
read_mostly  | 
rate_delivered,rate_app_limited  | 
|
u32  | 
rcv_wnd  | 
read_write  | 
read_mostly  | 
tcp_select_window,tcp_receive_window,tcp_fast_path_check  | 
u32  | 
write_seq  | 
read_write  | 
tcp_rate_check_app_limited,tcp_write_queue_empty,tcp_skb_entail,forced_push,tcp_mark_push  | 
|
u32  | 
notsent_lowat  | 
read_mostly  | 
tcp_stream_memory_free  | 
|
u32  | 
pushed_seq  | 
read_write  | 
tcp_mark_push,forced_push  | 
|
u32  | 
lost_out  | 
read_mostly  | 
read_mostly  | 
tcp_left_out(tx);tcp_packets_in_flight(tx/rx);tcp_rate_check_app_limited(rx)  | 
u32  | 
sacked_out  | 
read_mostly  | 
read_mostly  | 
tcp_left_out(tx);tcp_packets_in_flight(tx/rx);tcp_clean_rtx_queue(rx)  | 
struct hrtimer  | 
pacing_timer  | 
|||
struct hrtimer  | 
compressed_ack_timer  | 
|||
lost_skb_hint  | 
read_mostly  | 
tcp_clean_rtx_queue  | 
||
retransmit_skb_hint  | 
read_mostly  | 
tcp_clean_rtx_queue  | 
||
struct rb_root  | 
out_of_order_queue  | 
read_mostly  | 
tcp_data_queue,tcp_fast_path_check  | 
|
ooo_last_skb  | 
||||
struct tcp_sack_block[1]  | 
duplicate_sack  | 
|||
struct tcp_sack_block[4]  | 
selective_acks  | 
|||
struct tcp_sack_block[4]  | 
recv_sack_cache  | 
|||
highest_sack  | 
read_write  | 
tcp_event_new_data_sent  | 
||
int  | 
lost_cnt_hint  | 
|||
u32  | 
prior_ssthresh  | 
|||
u32  | 
high_seq  | 
|||
u32  | 
retrans_stamp  | 
|||
u32  | 
undo_marker  | 
|||
int  | 
undo_retrans  | 
|||
u64  | 
bytes_retrans  | 
|||
u32  | 
total_retrans  | 
|||
u32  | 
rto_stamp  | 
|||
u16  | 
total_rto  | 
|||
u16  | 
total_rto_recoveries  | 
|||
u32  | 
total_rto_time  | 
|||
u32  | 
urg_seq  | 
|||
unsigned_int  | 
keepalive_time  | 
|||
unsigned_int  | 
keepalive_intvl  | 
|||
int  | 
linger2  | 
|||
u8  | 
bpf_sock_ops_cb_flags  | 
|||
u8:1  | 
bpf_chg_cc_inprogress  | 
|||
u16  | 
timeout_rehash  | 
|||
u32  | 
rcv_ooopack  | 
|||
u32  | 
rcv_rtt_last_tsecr  | 
|||
struct  | 
rcv_rtt_est  | 
read_write  | 
tcp_rcv_space_adjust,tcp_rcv_established  | 
|
struct  | 
rcvq_space  | 
read_write  | 
tcp_rcv_space_adjust  | 
|
struct  | 
mtu_probe  | 
|||
u32  | 
plb_rehash  | 
|||
u32  | 
mtu_info  | 
|||
bool  | 
is_mptcp  | 
|||
bool  | 
smc_hs_congested  | 
|||
bool  | 
syn_smc  | 
|||
struct tcp_sock_af_ops*  | 
af_specific  | 
|||
struct tcp_md5sig_info*  | 
md5sig_info  | 
|||
struct tcp_fastopen_request*  | 
fastopen_req  | 
|||
struct request_sock*  | 
fastopen_rsk  | 
|||
struct saved_syn*  | 
saved_syn  |