On 5/9/25 11:18 PM, chia-yu.chang@nokia-bell-labs.com wrote:
@@ -5098,7 +5100,8 @@ static void __init tcp_struct_check(void) /* 32bit arches with 8byte alignment on u64 fields might need padding * before tcp_clock_cache. */
- CACHELINE_ASSERT_GROUP_SIZE(struct tcp_sock, tcp_sock_write_txrx, 92 + 4);
- CACHELINE_ASSERT_GROUP_SIZE(struct tcp_sock, tcp_sock_write_txrx, 96 + 4);
This looks inconsistent with the pahole output in the commit message (the groups looks 95 bytes wide, comprising the holes)
[...]
@@ -382,11 +393,17 @@ static void tcp_ecn_send(struct sock *sk, struct sk_buff *skb, { struct tcp_sock *tp = tcp_sk(sk);
- if (tcp_ecn_mode_rfc3168(tp)) {
- if (!tcp_ecn_mode_any(tp))
return;
- INET_ECN_xmit(sk);
- if (tcp_ecn_mode_accecn(tp)) {
tcp_accecn_set_ace(th, tp);
skb_shinfo(skb)->gso_type |= SKB_GSO_TCP_ACCECN;
- } else { /* Not-retransmitted data segment: set ECT and inject CWR. */ if (skb->len != tcp_header_len && !before(TCP_SKB_CB(skb)->seq, tp->snd_nxt)) {
INET_ECN_xmit(sk);
The above chunk apparently changes the current behaviour for !tcp_ecn_mode_accecn(), unconditionally setting ECN, while before ECN was set only for non retrans segments.
/P