From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH] netem: fix delay calculation in rate extension Date: Tue, 29 Jan 2013 16:03:08 -0500 (EST) Message-ID: <20130129.160308.2201480856831722159.davem@davemloft.net> References: <510057F3.80707@stusta.de> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, hagen@jauu.net To: jn@stusta.de Return-path: Received: from shards.monkeyblade.net ([149.20.54.216]:60305 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751522Ab3A2VDJ (ORCPT ); Tue, 29 Jan 2013 16:03:09 -0500 In-Reply-To: <510057F3.80707@stusta.de> Sender: netdev-owner@vger.kernel.org List-ID: From: Johannes Naab Date: Wed, 23 Jan 2013 22:36:51 +0100 > From: Johannes Naab > > The delay calculation with the rate extension introduces in v3.3 does > not properly work, if other packets are still queued for transmission. > For the delay calculation to work, both delay types (latency and delay > introduces by rate limitation) have to be handled differently. The > latency delay for a packet can overlap with the delay of other packets. > The delay introduced by the rate however is separate, and can only > start, once all other rate-introduced delays finished. > > Latency delay is from same distribution for each packet, rate delay > depends on the packet size. > > .: latency delay > -: rate delay > x: additional delay we have to wait since another packet is currently > transmitted > > .....---- Packet 1 > .....xx------ Packet 2 > .....------ Packet 3 > ^^^^^ > latency stacks > ^^ > rate delay doesn't stack > ^^ > latency stacks > > -----> time > > When a packet is enqueued, we first consider the latency delay. If other > packets are already queued, we can reduce the latency delay until the > last packet in the queue is send, however the latency delay cannot be > <0, since this would mean that the rate is overcommitted. The new > reference point is the time at which the last packet will be send. To > find the time, when the packet should be send, the rate introduces delay > has to be added on top of that. > > Signed-off-by: Johannes Naab > Acked-by: Hagen Paul Pfeifer Applied, thanks.