From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vw0-f43.google.com (mail-vw0-f43.google.com [209.85.212.43]) (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 A60942005E0; Mon, 5 Dec 2011 02:59:39 -0800 (PST) Received: by vbbfq11 with SMTP id fq11so6526275vbb.16 for ; Mon, 05 Dec 2011 02:59:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:subject:from:to:cc:date:in-reply-to:references :content-type:x-mailer:content-transfer-encoding:mime-version; bh=XUUZWxsm7iBPcqWq2qJBF/oV+n98FVyDUTxsQLfMr5I=; b=igJvU7JQnXoqrFzJIB8lr+St2u/eDZus0VHc8q2o7KrTeJ3mZVZkZtsNNgiWX4X3N5 nfMs40HMNOcbT2wlbQjg2cEvOs9ssT1+hzk3FphueQUTORBm/XjD/frJlY7Cw505+K40 EGIXgKOHYpsSrpX/pPjMx8lMRxbGgOcuL8RqY= Received: by 10.52.93.198 with SMTP id cw6mr2296169vdb.104.1323082777976; Mon, 05 Dec 2011 02:59:37 -0800 (PST) Received: from [10.150.51.214] (gw0.net.jmsp.net. [212.23.165.14]) by mx.google.com with ESMTPS id id7sm16754808vdb.21.2011.12.05.02.59.35 (version=SSLv3 cipher=OTHER); Mon, 05 Dec 2011 02:59:36 -0800 (PST) Message-ID: <1323082774.2670.40.camel@edumazet-HP-Compaq-6005-Pro-SFF-PC> From: Eric Dumazet To: Dave Taht Date: Mon, 05 Dec 2011 11:59:34 +0100 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.1- Content-Transfer-Encoding: 8bit Mime-Version: 1.0 Cc: linux-wireless , netdev@vger.kernel.org, bloat-devel , bloat Subject: Re: [Bloat] Time in Queue, bufferbloat, and... our accidentally interplanetary network X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Dec 2011 10:59:40 -0000 Le lundi 05 décembre 2011 à 10:05 +0100, Dave Taht a écrit : > And Eric dumazet also produced a preliminary patch a few weeks back > that tied timestamping to before the head of a queue, but that tried to use a > reserved field in the skb that appears from points A to Z is not guaranteed > to be preserved. It is guaranteed to be preserved, as it is part of skb->cb[], and skb->cb[] content is private to each layer. Here, Qdisc layer. Adding a time limit is possible, all we need is a proper design and implementation :) Here is my suggestion : Design a new tfifo/tred qdisc, with following properties : Adaptative RED, (ECN enabled + head drop), but instead of using bytes/packet qlen average, use time_in_queue average. A single mandatory parameter to specify the tmin value tmax default value would be tmin*3 (so that target avg is 2*tmin) tlimit default value would be tmax*8 Adaptative RED dynamically adjusts maxp between 1% and 50% [Using a timer, every 500ms, and AIMD] tc qdisc add dev eth0 root tfifo tmin 1ms [tmax val] [tlimit val] I volunteer to work on this new tfifo experimental qdisc :) This can be used in replacement of pfifo/bfifo in a complex qdisc setup. As it has RED included, it also can replace RED. Please note that once skb leaves Qdisc and is delivered to device, any time limit feature must be handled in the driver itself (if it can queue packet for a long time period)