lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 18 Oct 2007 12:50:45 +0900 (JST)
From:	TAKANO Ryousei <takano@...-inc.co.jp>
To:	davem@...emloft.net
Cc:	ilpo.jarvinen@...sinki.fi, y-kodama@...t.go.jp,
	netdev@...r.kernel.org
Subject: Re: [PATCH 7/7] [TCP]: Limit processing lost_retrans loop to
 work-to-do cases

From: David Miller <davem@...emloft.net>
Subject: Re: [PATCH 7/7] [TCP]: Limit processing lost_retrans loop to work-to-do cases
Date: Thu, 11 Oct 2007 17:36:22 -0700 (PDT)

> From: "Ilpo_Järvinen" <ilpo.jarvinen@...sinki.fi>
> Date: Thu, 11 Oct 2007 14:41:07 +0300
> 
> > This addition of lost_retrans_low to tcp_sock might be
> > unnecessary, it's not clear how often lost_retrans worker is
> > executed when there wasn't work to do.
> > 
> > Cc: TAKANO Ryousei <takano@...-inc.co.jp>
> > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@...sinki.fi>
> 
> Applied.

> +	    after(highest_sack_end_seq, tp->lost_retrans_low) &&

This limit degrades the performance of my test case described before,
since it misses opportunities of detecting loss of retransmitted packets.

The results are shown as follows:

linux-2.6.23
iteration :001 .... done. T = 19.758205 BW = 404.895077 Mbps
iteration :002 .... done. T = 19.241735 BW = 415.762924 Mbps
iteration :003 .... done. T = 18.998427 BW = 421.087495 Mbps
iteration :004 .... done. T = 18.971502 BW = 421.685113 Mbps
iteration :005 .... done. T = 19.298313 BW = 414.544009 Mbps

net-2.6 (current):
iteration :001 .... done. T = 43.672971 BW = 183.179660 Mbps
iteration :002 .... done. T = 16.668652 BW = 479.942828 Mbps
iteration :003 .... done. T = 25.569106 BW = 312.877581 Mbps
iteration :004 .... done. T = 55.314832 BW = 144.626671 Mbps
iteration :005 .... done. T = 35.377025 BW = 226.135464 Mbps

net-2.6 (no limit)
iteration :001 .... done. T = 16.907727 BW = 473.156445 Mbps
iteration :002 .... done. T = 16.662908 BW = 480.108272 Mbps
iteration :003 .... done. T = 16.536396 BW = 483.781350 Mbps
iteration :004 .... done. T = 16.565220 BW = 482.939560 Mbps
iteration :005 .... done. T = 16.528676 BW = 484.007309 Mbps

"no limit" does as follows:
        if (tp->retrans_out && highest_sack_end_seq &&
            icsk->icsk_ca_state == TCP_CA_Recovery)
                flag |= tcp_mark_lost_retrans(sk, highest_sack_end_seq);

Ryousei Takano
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ