From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-iy0-f171.google.com (mail-iy0-f171.google.com [209.85.210.171]) (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 DA08720024C; Mon, 5 Dec 2011 01:05:27 -0800 (PST) Received: by iaen33 with SMTP id n33so11993758iae.16 for ; Mon, 05 Dec 2011 01:05:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=kXfwxbk+hRpzm12NLSEQoEvqDmAJ0mtEsCZA+0QI0xc=; b=Q0Q7d/QtLw97ZRw8e2GmGeq4RSnmoCvNQj8xCL2lV1K4wECHrBp+skAPe+4/dIgwIO kfd2FHMerwRJBHdWMksanD+RnsPCx7KRCLytRdjeWfRBd9E+GaIr7jvoF6cLE5mjPzoQ elSaNaTPCv899a8Q+TOMDmPYweIUoB6KrDKhs= MIME-Version: 1.0 Received: by 10.231.20.227 with SMTP id g35mr2119499ibb.32.1323075927065; Mon, 05 Dec 2011 01:05:27 -0800 (PST) Received: by 10.231.204.83 with HTTP; Mon, 5 Dec 2011 01:05:27 -0800 (PST) Date: Mon, 5 Dec 2011 10:05:27 +0100 Message-ID: Subject: Time in Queue, bufferbloat, and... our accidentally interplanetary network From: Dave Taht To: bloat , bloat-devel , netdev@vger.kernel.org, linux-wireless Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-BeenThere: bloat-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Developers working on AQM, device drivers, and networking stacks" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Dec 2011 09:05:28 -0000 I was tickled to see that expiring packets based on 'time in queue' was already a key design feature of the IPN, http://www.science20.com/interwebometry/lessons_nasa_can_learn_internet-848= 61 and the idea was suggested also independently in saturday's CACM article's comments... http://queue.acm.org/detail.cfm?id=3D2071893 Making decisions based on time in queue (TiQ), rather than length of queue, would seem to be a win, especially for wireless, but also for that does 'soft' traffic shaping with HTB-like qdiscs and sub qdiscs. Anything that is not running at GigE plus speeds would benefit. ... since basically what's been happening with bufferbloat is a too early implementation of the IPN, with detours between here and the moon! ... and so far I haven't seen any major theoretical holes in with TiQ, exce= pt for deciding as to how long is too long as to consider a packet as 'expired= ', (which can be measured in ms or 10s of ms), and having reasonably monotonic time. I just wish I (or someone) could come up with a way to implement it in Linu= x without multiple layer violations. skb->queuestamp has a nice ring to it, b= ut when I look at this portion of the stack I freely admit quivering in ignora= nce and fear. I did a bit of work on a set of timestamping fifos, but realized that it was the entire queue's duration from entrance to exit (through multiple scheduling qdiscs) was what needed to be measured, and the drop/no drop decision needs to be made as late as possible - and preferably, the queue being pulled from needs the next packet pulled forward so as to inform the receiver that congestion is happening... 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. Thoughts? --=20 Dave T=E4ht SKYPE: davetaht US Tel: 1-239-829-5608 FR Tel: 0638645374 http://www.bufferbloat.net