Re: [PATCH v6 net-next 04/15] tcp: AccECN core

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/9/25 11:18 PM, chia-yu.chang@xxxxxxxxxxxxxxxxxxx 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





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux