From: "John W. Linville" <linville@tuxdriver.com>
To: Rick Jones <rick.jones2@hp.com>
Cc: bloat@lists.bufferbloat.net
Subject: Re: [Bloat] Random idea in reaction to all the discussion of TCP flavours - timestamps?
Date: Tue, 15 Mar 2011 14:31:11 -0400 [thread overview]
Message-ID: <20110315183111.GB2542@tuxdriver.com> (raw)
In-Reply-To: <1300212877.2087.2155.camel@tardy>
On Tue, Mar 15, 2011 at 11:14:37AM -0700, Rick Jones wrote:
> On Tue, 2011-03-15 at 10:59 -0700, Don Marti wrote:
> > begin Jonathan Morton quotation of Tue, Mar 15, 2011 at 06:47:17PM +0200:
> > > On 15 Mar, 2011, at 4:40 pm, Jim Gettys wrote:
> > >
> > > > There is an interesting question about what "long term minimum" means here...
> > >
> > > VJ does expand on that in "RED in a different light". He means that the relevant measure of queue length is to take the minimum value over some interval of time, say 100ms or 1-2 RTTs, whichever is longer. The average queue length is irrelevant. The nRED algorithm in that paper proposes a method of doing that.
> >
> > It seems like a host ought to be able to track the
> > dwell time of packets in its own buffer(s), and drop
> > anything that it held onto too long.
> >
> > Timestamp every packet going into the buffer, and
> > independently of any QoS work, check if a packet is
> > "stale" on its way out, and if so, drop it instead of
> > sending it. Is this in use anywhere? Haven't seen
> > it in the literature I've read linked to from Jim's
> > blog and this list.
>
> Are there any NICs setup to allow (efficient) removal of packets from
> the transmit queue (the one known to the NIC) once they have become
> known to the NIC? I'm not a driver writer (I've only complained to them
> that their drivers were using too much CPU :), but what little I've seen
> suggests that the programming models of most (all?) NICs are such that
> they assume the producer index only ever increases (modulo the queue
> size)... Or put another way, the host giveth, but only the NIC taketh
> away.
Right. This is more-or-less what I was driving-at with the various
versions of my eBDP patches. Once you hand the frame to the device,
you have no more control over it (at least for the devices I know
about today). All I can see that you can do is to evaluate how
quickly (i.e. how low latency) the device is moving those frames
it has been given, and then appropriately throttle the amount of
frames you continue to give the device. The question is how to do
that evaluation, which presumably involves some sort of timestamp.
How that evaluation should guide the throttling is also a question.
This is something that I think a lot of the discussion about qdiscs
is missing. Controlling the queue on the host is great, and there
is no point in maintaining long queues on the host. But the queues
on some devices are already huge. If you don't throttle _both_
the _enqueue_ and the _dequeue_, then you could be keeping a nice,
near-empty tx queue on the host and still have a long, bloated queue
building at the device.
John
--
John W. Linville Someday the world will need a hero, and you
linville@tuxdriver.com might be all we have. Be ready.
next prev parent reply other threads:[~2011-03-15 19:02 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-15 10:36 Jim Gettys
2011-03-15 14:40 ` Jim Gettys
2011-03-15 16:47 ` Jonathan Morton
2011-03-15 17:59 ` Don Marti
2011-03-15 18:14 ` Rick Jones
2011-03-15 18:31 ` John W. Linville [this message]
2011-03-15 19:40 ` Jonathan Morton
2011-03-15 19:59 ` Rick Jones
2011-03-15 20:51 ` John W. Linville
2011-03-15 21:31 ` Rick Jones
2011-03-16 0:32 ` John W. Linville
2011-03-16 1:02 ` Rick Jones
2011-03-15 22:01 ` Jonathan Morton
2011-03-15 22:19 ` Stephen Hemminger
2011-03-15 22:26 ` Jonathan Morton
2011-03-15 22:36 ` Rick Jones
2011-03-15 22:40 ` Jonathan Morton
2011-03-15 22:42 ` Stephen Hemminger
2011-03-15 22:52 ` Eric Dumazet
2011-03-15 23:02 ` Rick Jones
2011-03-15 23:12 ` Jonathan Morton
2011-03-15 23:25 ` Rick Jones
2011-03-15 23:33 ` Jonathan Morton
2011-03-15 23:46 ` Dave Täht
2011-03-16 0:49 ` Jonathan Morton
2011-03-16 1:02 ` Dave Täht
2011-03-16 1:28 ` Jonathan Morton
2011-03-16 1:59 ` Dave Täht
2011-03-16 2:23 ` Jonathan Morton
2011-03-16 22:22 ` [Bloat] Random idea in reaction to all the discussion of TCPflavours " Richard Scheffenegger
2011-03-16 23:38 ` richard
2011-03-16 23:50 ` Rick Jones
2011-03-17 12:05 ` Fred Baker
2011-03-17 12:18 ` Fred Baker
2011-03-17 17:27 ` Dave Täht
2011-03-18 18:30 ` Richard Scheffenegger
2011-03-18 18:49 ` Fred Baker
2011-03-20 11:40 ` Jonathan Morton
2011-03-20 22:18 ` david
2011-03-20 22:45 ` Jonathan Morton
2011-03-20 22:50 ` Dave Täht
2011-03-20 22:55 ` grenville armitage
2011-03-20 23:04 ` Dave Täht
2011-03-20 23:14 ` Jonathan Morton
2011-03-20 23:19 ` Dave Täht
2011-03-20 23:23 ` Dave Täht
2011-03-20 22:58 ` Jonathan Morton
2011-03-21 1:28 ` david
2011-03-21 1:56 ` Wesley Eddy
2011-03-18 18:27 ` [Bloat] Random idea in reaction to all the discussion ofTCPflavours " Richard Scheffenegger
2011-03-16 22:07 ` [Bloat] Random idea in reaction to all the discussion of TCPflavours " Richard Scheffenegger
2011-03-17 0:10 ` Jonathan Morton
2011-03-16 0:47 ` [Bloat] Random idea in reaction to all the discussion of TCP flavours " John W. Linville
2011-03-16 20:07 ` Jim Gettys
2011-03-17 2:26 ` Jonathan Morton
2011-03-17 18:22 ` Rick Jones
2011-03-17 21:50 ` Jonathan Morton
2011-03-17 22:20 ` Rick Jones
2011-03-17 22:56 ` Jonathan Morton
2011-03-18 1:36 ` Justin McCann
2011-03-18 5:51 ` Eric Dumazet
2011-03-15 16:34 ` Jonathan Morton
2011-03-15 18:13 ` Stephen Hemminger
2011-03-16 5:41 ` Fred Baker
2011-03-16 6:26 ` Jonathan Morton
2011-03-16 8:55 ` [Bloat] Random idea in reaction to all the discussion of TCPflavours " Richard Scheffenegger
2011-03-16 9:04 ` [Bloat] Random idea in reaction to all the discussion of TCP flavours " BeckW
2011-03-16 22:48 ` Fred Baker
2011-03-16 23:23 ` Jonathan Morton
2011-03-17 8:34 ` BeckW
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/bloat.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110315183111.GB2542@tuxdriver.com \
--to=linville@tuxdriver.com \
--cc=bloat@lists.bufferbloat.net \
--cc=rick.jones2@hp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox