netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@osdl.org>
To: root@danielinux.net
Cc: "David S. Miller" <davem@davemloft.net>,
	netdev@vger.kernel.org, Carlo Caini <ccaini@deis.unibo.it>,
	Rosario Firrincieli <rfirrincieli@arces.unibo.it>,
	Giovanni Pau <gpau@cs.ucla.edu>
Subject: Re: TCP Pacing
Date: Wed, 13 Sep 2006 12:41:52 +0900	[thread overview]
Message-ID: <20060913124152.350cd9b2@localhost.localdomain> (raw)
In-Reply-To: <200609121958.22820.root@danielinux.net>

On Tue, 12 Sep 2006 19:58:21 +0200
Daniele Lacamera <root@danielinux.net> wrote:

> Hello,
> 
> Please let me insist once again on the importance of adding a TCP Pacing 
> mechanism in our TCP, as many people are including this algorithm in 
> their congestion control proposals. Recent researches have found out 
> that it really can help improving performance in different scenarios, 
> like satellites and long-delay high-speed channels (>100ms RTT, Gbit). 
> Hybla module itself is cripple without this feature in its natural 
> scenario. 
> 
> The following patch is totally non-invasive: it has a config option and 
> a sysctl switch, both turned off by default. When the config option is 
> enabled, it adds only 6B to the tcp_sock.

Yes, but tcp_sock is already greater than 1024 on 64 bit, and needs
a diet.

> 
> Signed-off by: Daniele Lacamera <root@danielinux.net>

Pacing in itself isn't a bad idea, but:
  * Code needs to follow standard whitespace rules
 	- blanks around operators		
	- blank after keyword
	- Avoid (needless) paraenthesis
Bad:
       if( (state==TCP_CA_Recovery) &&(tp->snd_cwnd <
tp->snd_ssthresh))
		window=(tp->snd_ssthresh)<<3;
Good:
	if (state == TCP_CA_Recovery && tp->snd_cwnd < tp->snd_ssthresh)
		window = tp->snd_ssthresh << 3;

  * Since it is most useful over long delay links, maybe it should
    be a route parameter.


  parent reply	other threads:[~2006-09-13  3:42 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-12 17:58 TCP Pacing Daniele Lacamera
2006-09-12 18:21 ` Arnaldo Carvalho de Melo
2006-09-12 21:26 ` Ian McDonald
2006-09-13  8:18   ` Daniele Lacamera
2006-09-13 15:46     ` Daniele Lacamera
2006-09-16  0:41       ` Xiaoliang (David) Wei
2006-09-19 11:31         ` Daniele Lacamera
2006-09-13 18:30     ` Ian McDonald
2006-09-13  3:41 ` Stephen Hemminger [this message]
2006-09-13  8:18   ` Daniele Lacamera
2006-09-14  1:21     ` Stephen Hemminger

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060913124152.350cd9b2@localhost.localdomain \
    --to=shemminger@osdl.org \
    --cc=ccaini@deis.unibo.it \
    --cc=davem@davemloft.net \
    --cc=gpau@cs.ucla.edu \
    --cc=netdev@vger.kernel.org \
    --cc=rfirrincieli@arces.unibo.it \
    --cc=root@danielinux.net \
    /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;
as well as URLs for NNTP newsgroup(s).