On 5/9/25 11:18 PM, [email protected] 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