From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-f47.google.com (mail-wg0-f47.google.com [74.125.82.47]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 52C64200B49 for ; Sun, 5 Aug 2012 12:49:51 -0700 (PDT) Received: by wgbfa7 with SMTP id fa7so1589922wgb.28 for ; Sun, 05 Aug 2012 12:49:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:from:to:cc:in-reply-to:references:content-type:date :message-id:mime-version:x-mailer:content-transfer-encoding; bh=aAQui1UAd3gvKyewzxFw+JPRiDTTMoyB71ViMhkCEAo=; b=B+fQh2kYK+Z68mppgyEkJ5JV6HVOXiff3NDXv818pngrBlDZ5Q2JM2rIBVNw3Uhs4d PHRyfPSE3fIhOKjY2vyyCa4tmWs2tnJoa96bHWXall10Kiw6cx9NGAU7uHcnzxpR6b72 v+j6hs2hAYKyIK6ngcczM2JFsYwB6LGNd8pUP1MLONr16X6jB/blR4R6tC+LheJUntDn nNWVx1+cVghVN8ZMeExcn3I4dEf0CWZerH4ZWVf1LTTu7ozeDafoaEAvewhzrcKWNjVq qvY5fe7Tz43qvsCCPDmZHZX6hHpmTiA2mfdKtJiJ/SIwjDMnz1MuohJ9QLkm0frFb2vJ g1yg== Received: by 10.180.100.131 with SMTP id ey3mr12359829wib.15.1344196189273; Sun, 05 Aug 2012 12:49:49 -0700 (PDT) Received: from [172.28.91.56] ([74.125.122.49]) by mx.google.com with ESMTPS id fb20sm16809619wid.1.2012.08.05.12.49.46 (version=SSLv3 cipher=OTHER); Sun, 05 Aug 2012 12:49:48 -0700 (PDT) From: Eric Dumazet To: Yuchung Cheng In-Reply-To: <1344192037.9299.1618.camel@edumazet-glaptop> References: <1344048299-26267-1-git-send-email-dave.taht@bufferbloat.net> <1344062738.9299.1453.camel@edumazet-glaptop> <501D99C4.20902@pollere.com> <7EB59257-1A8E-4567-8AD3-5016594565CC@gmail.com> <1344144623.9299.1557.camel@edumazet-glaptop> <4A256974B5054317913BC067C4E5FAE1@srichardlxp2> <1344187557.9299.1610.camel@edumazet-glaptop> <1344188112.9299.1614.camel@edumazet-glaptop> <1344192037.9299.1618.camel@edumazet-glaptop> Content-Type: text/plain; charset="UTF-8" Date: Sun, 05 Aug 2012 21:49:44 +0200 Message-ID: <1344196184.9299.1625.camel@edumazet-glaptop> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 Content-Transfer-Encoding: 7bit Cc: codel@lists.bufferbloat.net Subject: Re: [Codel] [RFC PATCH] codel: ecn mark at target X-BeenThere: codel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: CoDel AQM discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Aug 2012 19:49:51 -0000 On Sun, 2012-08-05 at 20:40 +0200, Eric Dumazet wrote: > On Sun, 2012-08-05 at 11:14 -0700, Yuchung Cheng wrote: > > On Sun, Aug 5, 2012 at 10:35 AM, Eric Dumazet wrote: > > > On Sun, 2012-08-05 at 19:26 +0200, Eric Dumazet wrote: > > > > > >> It could be a flaw in linux implementation, I admit we had so many bugs > > >> that it could very well be still buggy. > > > > > > And at first glance, the following tcpdump seems suspect : We can see > > > all ACK are delayed by about 40 ms > > but RFC 3168 (sec 6.1.3) does not mandate immediate ACKs for ECE > > marked ones? is this because ECN response is per round-trip? > > > > We should IMHO not delay ACKS, exactly like we react to a dropped > packet. > > If not specified in RFC 3168, it seems a forgotten point. Following patch does the trick. Delaying ACK while sender might have a cwnd = 1 is not nice at all. I get better behavior, but still codel with Dave patch (mark all packets if above 'target') is giving an unfair advantage to non ECN flow. diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 2fd2bc9..b03f429 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -237,6 +237,7 @@ static inline void TCP_ECN_check_ce(struct tcp_sock *tp, const struct sk_buff *s tcp_enter_quickack_mode((struct sock *)tp); break; case INET_ECN_CE: + inet_csk((struct sock *)tp)->icsk_ack.quick |= 1; tp->ecn_flags |= TCP_ECN_DEMAND_CWR; /* fallinto */ default: