From owner-freebsd-performance@FreeBSD.ORG  Sun Oct 11 20:50:20 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 451ED1065672
	for <freebsd-performance@freebsd.org>;
	Sun, 11 Oct 2009 20:50:20 +0000 (UTC)
	(envelope-from lists@stringsutils.com)
Received: from zoraida.natserv.net (p65-147.acedsl.com [66.114.65.147])
	by mx1.freebsd.org (Postfix) with ESMTP id 180388FC1E
	for <freebsd-performance@freebsd.org>;
	Sun, 11 Oct 2009 20:50:19 +0000 (UTC)
Received: from shelca (zoraida.natserv.net [66.114.65.147])
	by zoraida.natserv.net (Postfix) with ESMTP id E4DEA1704F;
	Sun, 11 Oct 2009 16:50:18 -0400 (EDT)
References: <1255189612.42461.net.help@m2k.com.tw>
Message-ID: <cone.1255294210.110142.12459.1000@shelca>
X-Mailer: http://www.courier-mta.org/cone/
From: Francisco Reyes <lists@stringsutils.com>
To: net.help@m2k.com.tw
Date: Sun, 11 Oct 2009 16:50:10 -0400
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="US-ASCII"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
Cc: freebsd-performance <freebsd-performance@freebsd.org>
Subject: Re: Migrate large amount of small files
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 11 Oct 2009 20:50:20 -0000

Ckcheng writes:

> 1. rsync
> 2. tar ..

If this is a migration I find that tar to the local machine, copy over, 
restore, then rsync are likely the best options.

In my experience copying lots of small files is going to take a long time, 
no matter which method you use.

>From all the combinations I have tried in the past tar first then rsync 
worked best for me. 

From owner-freebsd-performance@FreeBSD.ORG  Sun Oct 11 21:06:53 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id EDED6106568F
	for <freebsd-performance@freebsd.org>;
	Sun, 11 Oct 2009 21:06:53 +0000 (UTC) (envelope-from mike@sentex.net)
Received: from lava.sentex.ca (pyroxene.sentex.ca [199.212.134.18])
	by mx1.freebsd.org (Postfix) with ESMTP id BC2CF8FC19
	for <freebsd-performance@freebsd.org>;
	Sun, 11 Oct 2009 21:06:53 +0000 (UTC)
Received: from mdt-xp.sentex.net (simeon.sentex.ca [192.168.43.27])
	by lava.sentex.ca (8.14.3/8.14.3) with ESMTP id n9BL6p7G074295;
	Sun, 11 Oct 2009 17:06:51 -0400 (EDT) (envelope-from mike@sentex.net)
Message-Id: <200910112106.n9BL6p7G074295@lava.sentex.ca>
X-Mailer: QUALCOMM Windows Eudora Version 7.1.0.9
Date: Sun, 11 Oct 2009 17:07:08 -0400
To: net.help@m2k.com.tw,
	"freebsd-performance" <freebsd-performance@freebsd.org>
From: Mike Tancsa <mike@sentex.net>
In-Reply-To: <1255189612.42461.net.help@m2k.com.tw>
References: <1255189612.42461.net.help@m2k.com.tw>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format=flowed
Cc: 
Subject: Re: Migrate large amount of small files
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 11 Oct 2009 21:06:54 -0000

At 11:46 AM 10/10/2009, Ckcheng wrote:
>Hi all,
>Currently, I have a directory with over 5M small files (1~32K). Now,
>I want to transfer this directory to another machine and found
>that it's extremely slow and painful process. I tried the following
>method:

It might help if you mount all -onoatime as well as bump up 
vfs.ufs.dirhash_maxmem to 4x the default size

         ---Mike

>1. rsync
>2. tar via ssh
>3. tar via nc
>(all take hours and hours to finish)
>
>None of them is able to give me a reasonable migration time. So, I'm
>here for asking help. Any suggestion is extremely welcomed. Thank you.
>
>Btw, here is brief information of my server. (both machines are the same)
>
>OS: FreeBSD 6.4-Stable 64Bit
>CPU: 2 x Xeon L5420 2.50GHz
>RAM: 2 x 2G ECC DDR2-667 (full buffered)
>DISK: Seagate Barracuda ES 16MB (SATA 300)
>Network: 1Gbps (Broadcom BCM5708)
>Filesystem: UFS2
>
>Regards,
>_______________________________________________
>freebsd-performance@freebsd.org mailing list
>http://lists.freebsd.org/mailman/listinfo/freebsd-performance
>To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd.org"

--------------------------------------------------------------------
Mike Tancsa,                                      tel +1 519 651 3400
Sentex Communications,                            mike@sentex.net
Providing Internet since 1994                    www.sentex.net
Cambridge, Ontario Canada                         www.sentex.net/mike


From owner-freebsd-performance@FreeBSD.ORG  Sun Oct 11 23:18:58 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id B048E1065676
	for <freebsd-performance@freebsd.org>;
	Sun, 11 Oct 2009 23:18:58 +0000 (UTC)
	(envelope-from jguojun@sbcglobal.net)
Received: from web82207.mail.mud.yahoo.com (web82207.mail.mud.yahoo.com
	[209.191.86.102])
	by mx1.freebsd.org (Postfix) with SMTP id 7E8A58FC17
	for <freebsd-performance@freebsd.org>;
	Sun, 11 Oct 2009 23:18:58 +0000 (UTC)
Received: (qmail 44538 invoked by uid 60001); 11 Oct 2009 22:52:17 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=sbcglobal.net;
	h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type;
	b=oP1nTVoqYAIXgq4gdY5eabOsgf1Y5PwqpM+d8TDEI2MUApCkaC8dikez3YItOtw3ZQ/Sl/klfdCkjign2l+SqCCtxslK0FFu4vV0fWPv9U3acB9+YZs88w5qIrBli3jRVg7I7U1AnWdz2A2RpcLhnwDyHmOZJDoHOb/LtCHdnds=;
Message-ID: <598544.44269.qm@web82207.mail.mud.yahoo.com>
X-YMail-OSG: OygjaHwVM1kn6at_QZiYj066zqxRdyYS8gsSAz2R8ecAPVBN1ZxyXluQCxPKBc9.O00K4QNdRxvxdtqF1BWbGkei4cvFoXJzowmPdRA6G2_bYwn6ZyWbGQu3mGkxVI8iDB.McaPDEiSS3Pe1ndq0DkNGo9sT6jxQt4F4CC5GnlJqCottMs8xVJkJo3859DNl7btTiV5YdtzINoVPzafbGwEilhXHEXNVyU6kuVhAIzE.xNckNWwUqQ08nHm7PcGFCkoPkZJAE.BswLF0EBDMSyGRG_9PESsno2t8QAaDlIG9nTm.6l6byGrn948xS9B8WqVhyIDU.BJD.WeCoviC06KOCf9yzCRgzb_chL6Epd.ulB.guOYei4.SX3cDMEGU8cw-
Received: from [75.36.161.248] by web82207.mail.mud.yahoo.com via HTTP;
	Sun, 11 Oct 2009 15:52:17 PDT
X-Mailer: YahooMailClassic/7.0.14 YahooMailWebService/0.7.347.3
Date: Sun, 11 Oct 2009 15:52:17 -0700 (PDT)
From: Jin Guojun <jguojun@sbcglobal.net>
To: net.help@m2k.com.tw, freebsd-performance <freebsd-performance@freebsd.org>,
	Mike Tancsa <mike@sentex.net>
In-Reply-To: <200910112106.n9BL6p7G074295@lava.sentex.ca>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Cc: 
Subject: Re: Migrate large amount of small files
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 11 Oct 2009 23:18:58 -0000

The major factor affects the performance the the number of files in "PER" directory.
If I got impression correct, there are 5M files in JUST one directory. If this is true, then it is the problem.

The best way to avoid performance penalty is to sort different files into differet named directories. 
Each directory should contain about 1K files or less. Carefully tuned FS may have better performance for a directory conataining a few thousand files, but no more.

If files are created by some state machine automatically, and you do not have a good sorting algorithm for directory naming, use Year-Month-week for auto directory naming.

--- On Sun, 10/11/09, Mike Tancsa <mike@sentex.net> wrote:

> From: Mike Tancsa <mike@sentex.net>
> Subject: Re: Migrate large amount of small files
> To: net.help@m2k.com.tw, "freebsd-performance" <freebsd-performance@freebsd.org>
> Date: Sunday, October 11, 2009, 9:07 PM
> At 11:46 AM 10/10/2009, Ckcheng
> wrote:
> >Hi all,
> >Currently, I have a directory with over 5M small files
> (1~32K). Now,
> >I want to transfer this directory to another machine
> and found
> >that it's extremely slow and painful process. I tried
> the following
> >method:
> 
> It might help if you mount all -onoatime as well as bump up
> 
> vfs.ufs.dirhash_maxmem to 4x the default size
> 
>          ---Mike
> 
> >1. rsync
> >2. tar via ssh
> >3. tar via nc
> >(all take hours and hours to finish)
> >
> >None of them is able to give me a reasonable migration
> time. So, I'm
> >here for asking help. Any suggestion is extremely
> welcomed. Thank you.
> >
> >Btw, here is brief information of my server. (both
> machines are the same)
> >
> >OS: FreeBSD 6.4-Stable 64Bit
> >CPU: 2 x Xeon L5420 2.50GHz
> >RAM: 2 x 2G ECC DDR2-667 (full buffered)
> >DISK: Seagate Barracuda ES 16MB (SATA 300)
> >Network: 1Gbps (Broadcom BCM5708)
> >Filesystem: UFS2
> >
> >Regards,
> >_______________________________________________
> >freebsd-performance@freebsd.org
> mailing list
> >http://lists.freebsd.org/mailman/listinfo/freebsd-performance
> >To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd.org"
> 
> --------------------------------------------------------------------
> Mike Tancsa,           
>                
>           tel +1 519 651 3400
> Sentex Communications,         
>                
>   mike@sentex.net
> Providing Internet since 1994       
>             www.sentex.net
> Cambridge, Ontario Canada         
>            
>    www.sentex.net/mike
> 
> _______________________________________________
> freebsd-performance@freebsd.org
> mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-performance
> To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd.org"
> 

From owner-freebsd-performance@FreeBSD.ORG  Mon Oct 12 07:44:38 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 301381065672;
	Mon, 12 Oct 2009 07:44:38 +0000 (UTC)
	(envelope-from ohartman@zedat.fu-berlin.de)
Received: from outpost1.zedat.fu-berlin.de (outpost1.zedat.fu-berlin.de
	[130.133.4.66])
	by mx1.freebsd.org (Postfix) with ESMTP id AABF18FC1C;
	Mon, 12 Oct 2009 07:44:37 +0000 (UTC)
Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69])
	by outpost1.zedat.fu-berlin.de (Exim 4.69) with esmtp
	(envelope-from <ohartman@zedat.fu-berlin.de>)
	id <1MxFa8-0000Wg-DE>; Mon, 12 Oct 2009 09:44:36 +0200
Received: from telesto.geoinf.fu-berlin.de ([130.133.86.198])
	by inpost2.zedat.fu-berlin.de (Exim 4.69) with esmtpsa
	(envelope-from <ohartman@zedat.fu-berlin.de>)
	id <1MxFa8-0004DV-Bd>; Mon, 12 Oct 2009 09:44:36 +0200
Message-ID: <4AD2DE71.5060601@zedat.fu-berlin.de>
Date: Mon, 12 Oct 2009 07:44:49 +0000
From: "O. Hartmann" <ohartman@zedat.fu-berlin.de>
Organization: Freie =?ISO-8859-15?Q?Universit=E4t_Berlin?=
User-Agent: Thunderbird 2.0.0.23 (X11/20090824)
MIME-Version: 1.0
To: Steve Kargl <sgk@troutmask.apl.washington.edu>
References: <6729ad0409e449f8dbda69ecd8feb618.squirrel@webmail.lerctr.org>	<20091012014846.GB38325@troutmask.apl.washington.edu>	<fe073255a48a675c0a8ab5bb8c105e61.squirrel@webmail.lerctr.org>	<20091012023912.GA38822@troutmask.apl.washington.edu>	<4AD29937.2040004@mailinglist.ahhyes.net>	<20091012043358.GA39364@troutmask.apl.washington.edu>	<4AD2B203.8030405@mailinglist.ahhyes.net>
	<20091012044911.GA39479@troutmask.apl.washington.edu>
In-Reply-To: <20091012044911.GA39479@troutmask.apl.washington.edu>
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
X-Originating-IP: 130.133.86.198
Cc: "freebsd-performance@freebsd.org" <freebsd-performance@freebsd.org>,
	freebsd-current@freebsd.org
Subject: Re: Scheduler weirdness
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Oct 2009 07:44:38 -0000

Steve Kargl wrote:
> On Mon, Oct 12, 2009 at 03:35:15PM +1100, Alex R wrote:
>> Steve Kargl wrote:
>>> On Mon, Oct 12, 2009 at 01:49:27PM +1100, Alex R wrote:
>>>  
>>>> Steve Kargl wrote:
>>>>    
>>>>> So, you have 4 cpus and 4 folding-at-home processes and you're
>>>>> trying to use the system with other apps?  Switch to 4BSD.
>>>>>
>>>>>
>>>>>      
>>>> I thought SCHED_ULE was meant to be a much better choice under an SMP 
>>>> environment. Why are you suggesting he rebuild his kernel and use the 
>>>> legacy scheduler?
>>>>
>>>>    
>>> If you have N cpus and N+1 numerical intensitive applications,
>>> ULE may have poor performance compared to 4BSD.   In OP's case,
>>> he has 4 cpus and 4 numerical intensity (?) applications.  He,
>>> however, also is trying to use the system in some interactive
>>> way.
>>>
>>>  
>> Ah ok. Is this just an accepted thing by the freebsd dev's or are they 
>> trying to fix it?
>>
> 
> Jeff appears to be extremely busy with other projects.  He is aware of
> the problem, and I have set up my system to give him access when/if it
> is so desired.
> 
> Here's the text of my last set of tests that I sent to him
> 
> OK, I've manage to recreate the problem.  User kargl launches a mpi
> job on node10 that creates two images on node20.  This is command z
> in the top(1) info.  30 seconds later, user sgk lauches a mpi process
> on node10 that creates 8 images on node20.  This is command rivmp in
> top(1) info.  With 8 available cpus, this is a (slightly) oversubscribed
> node.
> 
> For 4BSD, I see
> 
> last pid:  1432;  load averages:  8.68,  5.65,  2.82                up 0+01:52:14  17:07:22
> 40 processes:  11 running, 29 sleeping
> CPU:  100% user,  0.0% nice,  0.0% system,  0.0% interrupt,  0.0% idle
> Mem: 32M Active, 12M Inact, 203M Wired, 424K Cache, 29M Buf, 31G Free
> Swap: 4096M Total, 4096M Free
> 
>   PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME    CPU COMMAND
>  1428 sgk           1 124    0 81788K  5848K CPU3    6   1:13 78.81% rivmp
>  1431 sgk           1 124    0 81788K  5652K RUN     1   1:13 78.52% rivmp
>  1415 kargl         1 124    0 78780K  4668K CPU7    1   1:38 78.42% z
>  1414 kargl         1 124    0 78780K  4664K CPU0    0   1:37 77.25% z
>  1427 sgk           1 124    0 81788K  5852K CPU4    3   1:13 78.42% rivmp
>  1432 sgk           1 124    0 81788K  5652K CPU2    4   1:13 78.27% rivmp
>  1425 sgk           1 124    0 81788K  6004K CPU5    5   1:12 78.17% rivmp
>  1426 sgk           1 124    0 81788K  5832K RUN     6   1:13 78.03% rivmp
>  1429 sgk           1 124    0 81788K  5788K CPU6    7   1:12 77.98% rivmp
>  1430 sgk           1 124    0 81788K  5764K RUN     2   1:13 77.93% rivmp
> 
> 
> Notice, the accumulated times appear reasonable.  At this point in the
> computations, rivmp is doing no communication between processes.  z is
> the netpipe benchmark and is essentially sending messages between the
> two processes over the memory bus.
> 
> 
> For ULE, I see
> 
> last pid:  1169;  load averages:  7.56,  2.61,  1.02                up 0+00:03:15  17:13:01
> 40 processes:  11 running, 29 sleeping
> CPU:  100% user,  0.0% nice,  0.0% system,  0.0% interrupt,  0.0% idle
> Mem: 31M Active, 9392K Inact, 197M Wired, 248K Cache, 26M Buf, 31G Free
> Swap: 4096M Total, 4096M Free
> 
>   PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME    CPU COMMAND
>  1168 sgk           1 118    0 81788K  5472K CPU6    6   1:18 100.00% rivmp
>  1169 sgk           1 118    0 81788K  5416K CPU7    7   1:18 100.00% rivmp
>  1167 sgk           1 118    0 81788K  5496K CPU5    5   1:18 100.00% rivmp
>  1166 sgk           1 118    0 81788K  5564K RUN     4   1:18 100.00% rivmp
>  1151 kargl         1 118    0 78780K  4464K CPU3    3   1:48 99.27% z
>  1152 kargl         1 110    0 78780K  4464K CPU0    0   1:18 62.89% z
>  1164 sgk           1 113    0 81788K  5592K CPU1    1   0:55 80.76% rivmp
>  1165 sgk           1 110    0 81788K  5544K RUN     0   0:52 62.16% rivmp
>  1163 sgk           1 107    0 81788K  5624K RUN     2   0:40 50.68% rivmp
>  1162 sgk           1 107    0 81788K  5824K CPU2    2   0:39 50.49% rivmp
> 
> 
> In the above, processes 1162-1165 are clearly not receiving sufficient time
> slices to keep up with the other 4 rivmp images.  From watching top at a
> 1 second interval, once the 4 rivmp hit 100% CPU, they stayed pinned to
> their cpu and stay at 100% CPU.  It is also seen that processes 1152, 1165
> and 1162, 1163 are stuck on cpus 0 and 2, respectively.
> 

This isn't only bound to floating-point intense applications, even the 
operating system itselfs seems to suffer from SCHED_ULE. I saw, see and 
reported several performance issue under heavy load and for seconds (if 
not minutes!) 4+ CPU boxes get as stuck as a UP box does. Those sticky 
sitiuations are painful in cases where the box needs to be accessed via 
X11.
The remaining four FreeBSD 8.0-boxes used for numerical applications in 
our lab (others switched to Linux a long time ago) all uses SCHED_ULE, 
as this scheduler was introduced to be the superior scheduler over the 
legacy 4BSD. Well, I'll give 4BSD a chance again.

At the moment, even our 8-core DELL Poweredge box is in production use, 
but if there is something I can do, menas: benchmarking, I'll give it a try.
Regards,
Oliver

From owner-freebsd-performance@FreeBSD.ORG  Thu Oct 15 01:57:46 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 13608106566B
	for <freebsd-performance@freebsd.org>;
	Thu, 15 Oct 2009 01:57:46 +0000 (UTC)
	(envelope-from htyin@huawei.com)
Received: from usaga02-in.huawei.com (usaga02-in.huawei.com [206.16.17.70])
	by mx1.freebsd.org (Postfix) with ESMTP id C515C8FC13
	for <freebsd-performance@freebsd.org>;
	Thu, 15 Oct 2009 01:57:45 +0000 (UTC)
Received: from huawei.com (localhost [127.0.0.1])
	by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14
	(built Aug
	8 2006)) with ESMTP id <0KRJ002EN8QOW5@usaga02-in.huawei.com> for
	freebsd-performance@freebsd.org; Wed, 14 Oct 2009 18:42:25 -0700 (PDT)
Received: from Hongtao1SC ([10.193.34.152])
	by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14
	(built Aug
	8 2006)) with ESMTPA id <0KRJ00G5I8QGJX@usaga02-in.huawei.com> for
	freebsd-performance@freebsd.org; Wed, 14 Oct 2009 18:42:24 -0700 (PDT)
Date: Wed, 14 Oct 2009 18:42:16 -0700
From: Hongtao Yin <htyin@huawei.com>
To: freebsd-performance@freebsd.org
Message-id: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
MIME-version: 1.0
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
X-Mailer: Microsoft Office Outlook 11
Content-type: multipart/mixed; boundary="Boundary_(ID_q+q/9SmDfq3iWLIJEHBW2w)"
Thread-index: AcpNOLlqUYLxY2FSQl+q3yOU7/rDlg==
X-Content-Filtered-By: Mailman/MimeDel 2.1.5
Subject: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Oct 2009 01:57:46 -0000

This is a multi-part message in MIME format.

--Boundary_(ID_q+q/9SmDfq3iWLIJEHBW2w)
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT

Hi,

 

I compared TCP performance between FreeBSD and Linux by running test tools
Netperf and Iperf with Intel NIC. 

The kernels are full version and default values are used in the testing
except TCP Congestion Control algorithm set to Reno.

>From the test results we can see Linux TCP performance in throughput is
better than FreeBSD. The worst case (send msg size 128) shows that FreeBSD
throughput is only 43% of Linux's.

 

I like to get some feedback if anyone did similar comparison test, or knows
any issues with kernels or drivers. Thanks lot.

 

FreeBSD and Linux Sysctl captures are attached for reference.

 

Regards,

Hongtao

 

 

 

Test Environments:

PC: Dell Precision T3400 (same 4 PCs)

CPU: Intel Core 2 Duo CPU E4600@2.4Ghz

FreeBSD: V7.1 (full version) (TCP CC: newReno)

Linux: V2.6.31.1 (full version) (TCP CC: Reno)

Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter (Gigabit)
chip 82546EB (only one port used for each PC)

Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108)

Iperf: V2.0.4

Netperf: V2.4.4

 

Setup:

 

 

                                  ----------

                                  | switch |

                                  ----------

               ---------------------| | | |--------------------

               |                      | |                     |

               |              --------| |--------             |

               |              |                 |             | 

               |              |                 |             |

        --------------  --------------  --------------  --------------

        |     PC1    |  |    PC2     |  |    PC3     |  |    PC4     |

        |   FreeBSD  |  |   FreeBSD  |  |   Linux    |  |   Linux    |

        |192.168.1.10|  |192.168.1.20|  |192.168.1.30|  |192.168.1.40|

        --------------  --------------  --------------  --------------

 

 

 

 

 

================================

     Netperf Test Results   

================================

 

TCP Throughput Test

-------------------

 

PC2/4: #netserver -p 22113

PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10

 

          Recv             Send            Send           Elapsed
Throughput

          Socket           Socket          Message        Time
10^6 bits/sec

          Size             Size            Size           Sec.

          bytes            bytes           bytes

FreeBSD:  65536            32768           32768          10.34
598.11 

Linux:    87380            16384           16384          10.04
779.02 

 

 

PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m
64/128/256/512/1024/2048/4096

 

          Recv             Send            Send           Elapsed
Throughput

          Socket           Socket          Message        Time
10^6 bits/sec

          Size             Size            Size           Sec.

          bytes            bytes           bytes

FreeBSD:  65536            32768           64              10.19
417.10 

          65536            32768           128             10.35
336.63 

          65536            32768           256             10.36
576.99 

          65536            32768           512             10.35
569.79 

          65536            32768           1024            10.35
553.70 

          65536            32768           2048            10.35
584.20 

          65536            32768           4096            10.35
602.45 

 

Linux:    87380            16384           64              10.03
778.21 

          87380            16384           128             10.03
779.72 

          87380            16384           256             10.04
780.16 

          87380            16384           512             10.03
776.85 

          87380            16384           1024            10.04
777.52 

          87380            16384           2048            10.04
777.83 

          87380            16384           4096            10.03
780.17 

 

 

 

 

===============================

      Iperf Test Results

===============================

 

Bandwidth Test

--------------

 

PC2/4: #iperf -s

PC1/3: #iperf -c 192.168.1.20

 

           Interval        Transfer        Bandwidth

           sec             MBytes          Mbits/sec

FreeBSD:   0.0-10.3        740             600

Linux:     0.0-10.0        972             815

 

 

PC1/3: #iperf -c 192.168.1.20 -d

 

           Interval        Transfer        Bandwidth

           sec             MBytes          Mbits/sec

FreeBSD:   0.0-10.0        402             337

           0.0-10.0        404             338

 

Linux:     0.0-10.0        926             776

           0.0-10.0        44.1            36.9

 

 

Parallel Test

-------------

 

PC2/4: #iperf -s

PC1/3: #iperf -c 192.168.1.20 -P 2

 

           Interval        Transfer        Bandwidth

           sec             MBytes          Mbits/sec

FreeBSD:   0.0-10.3        370             300

           0.0-10.3        370             300

      SUM: 0.0-10.3        739             600

 

Linux:     0.0-10.0        479             402

           0.0-10.0        473             396

      SUM: 0.0-10.0        952             797

 

 

 


--Boundary_(ID_q+q/9SmDfq3iWLIJEHBW2w)
Content-type: application/octet-stream; name=FreeBSD_sysctl
Content-transfer-encoding: quoted-printable
Content-disposition: attachment; filename=FreeBSD_sysctl

kern.ostype: FreeBSD
kern.osrelease: 7.1-RELEASE
kern.osrevision: 199506
kern.version: FreeBSD 7.1-RELEASE #3: Mon Oct  5 15:06:00 PDT 2009
    root@hyin@huawei.com:/usr/obj/usr/home/hy/bsd71/sys/GENERIC

kern.maxvnodes: 100000
kern.maxproc: 6164
kern.maxfiles: 12328
kern.argmax: 262144
kern.securelevel: -1
kern.hostname:=20
kern.hostid: 0
kern.clockrate: { hz =3D 1000, tick =3D 1000, profhz =3D 2000, stathz =
=3D 133 }
kern.posix1version: 200112
kern.ngroups: 16
kern.job_control: 1
kern.saved_ids: 0
kern.boottime: { sec =3D 1255460068, usec =3D 755556 } Tue Oct 13 =
11:54:28 2009
kern.domainname:=20
kern.osreldate: 701000
kern.bootfile: /boot/kernel/kernel
kern.maxfilesperproc: 11095
kern.maxprocperuid: 5547
kern.ipc.maxsockbuf: 262144
kern.ipc.sockbuf_waste_factor: 8
kern.ipc.somaxconn: 128
kern.ipc.max_linkhdr: 16
kern.ipc.max_protohdr: 60
kern.ipc.max_hdr: 76
kern.ipc.max_datalen: 100
kern.ipc.nmbjumbo16: 3200
kern.ipc.nmbjumbo9: 6400
kern.ipc.nmbjumbop: 12800
kern.ipc.nmbclusters: 25600
kern.ipc.piperesizeallowed: 1
kern.ipc.piperesizefail: 0
kern.ipc.pipeallocfail: 0
kern.ipc.pipefragretry: 0
kern.ipc.pipekva: 0
kern.ipc.maxpipekva: 20971520
kern.ipc.msgseg: 2048
kern.ipc.msgssz: 8
kern.ipc.msgtql: 40
kern.ipc.msgmnb: 2048
kern.ipc.msgmni: 40
kern.ipc.msgmax: 16384
kern.ipc.semaem: 16384
kern.ipc.semvmx: 32767
kern.ipc.semusz: 104
kern.ipc.semume: 10
kern.ipc.semopm: 100
kern.ipc.semmsl: 60
kern.ipc.semmnu: 30
kern.ipc.semmns: 60
kern.ipc.semmni: 10
kern.ipc.semmap: 30
kern.ipc.shm_allow_removed: 0
kern.ipc.shm_use_phys: 0
kern.ipc.shmall: 8192
kern.ipc.shmseg: 128
kern.ipc.shmmni: 192
kern.ipc.shmmin: 1
kern.ipc.shmmax: 33554432
kern.ipc.maxsockets: 25600
kern.ipc.numopensockets: 0
kern.ipc.nsfbufsused: 0
kern.ipc.nsfbufspeak: 0
kern.ipc.nsfbufs: 0
kern.dummy: 0
kern.ps_strings: 140737488355296
kern.usrstack: 140737488355328
kern.logsigexit: 1
kern.iov_max: 1024
kern.hostuuid: 00000000-0000-0000-0000-000000000000
kern.cam.cam_srch_hi: 0
kern.cam.scsi_delay: 5000
kern.cam.cd.changer.max_busy_seconds: 15
kern.cam.cd.changer.min_busy_seconds: 5
kern.cam.da.da_send_ordered: 1
kern.cam.da.default_timeout: 60
kern.cam.da.retry_count: 4
kern.dcons.poll_hz: 100
kern.disks: ad4
kern.geom.collectstats: 1
kern.geom.debugflags: 0
kern.geom.label.debug: 0
kern.elf64.fallback_brand: -1
kern.init_shutdown_timeout: 120
kern.init_path: =
/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall
kern.acct_suspended: 0
kern.acct_configured: 0
kern.acct_chkfreq: 15
kern.acct_resume: 4
kern.acct_suspend: 2
kern.cp_times: 2 0 4 16 12243 2 0 1 0 12248
kern.cp_time: 4 0 5 16 24491
kern.openfiles: 3
kern.kq_calloutmax: 4096
kern.ps_arg_cache_limit: 256
kern.stackprot: 7
kern.randompid: 0
kern.lastpid: 61
kern.module_path: /boot/kernel;/boot/modules
kern.malloc_count: 248
kern.fallback_elf_brand: -1
kern.features.compat_freebsd6: 1
kern.features.compat_freebsd5: 1
kern.features.compat_freebsd4: 1
kern.maxusers: 384
kern.ident: GENERIC
kern.kstack_pages: 4
kern.shutdown.kproc_shutdown_wait: 60
kern.shutdown.poweroff_delay: 5000
kern.sync_on_panic: 0
kern.corefile: %N.core
kern.nodump_coredump: 0
kern.coredump: 1
kern.sugid_coredump: 0
kern.sigqueue.alloc_fail: 0
kern.sigqueue.overflow: 0
kern.sigqueue.preallocate: 1024
kern.sigqueue.max_pending_per_proc: 128
kern.forcesigexit: 1
kern.fscale: 2048
kern.timecounter.tick: 1
kern.timecounter.choice: TSC(-100) HPET(900) ACPI-fast(1000) i8254(0) =
dummy(-1000000)
kern.timecounter.hardware: ACPI-fast
kern.timecounter.nsetclock: 2
kern.timecounter.ngetmicrotime: 9227
kern.timecounter.ngetnanotime: 0
kern.timecounter.ngetbintime: 0
kern.timecounter.ngetmicrouptime: 2596
kern.timecounter.ngetnanouptime: 0
kern.timecounter.ngetbinuptime: 67
kern.timecounter.nmicrotime: 100
kern.timecounter.nnanotime: 7
kern.timecounter.nbintime: 107
kern.timecounter.nmicrouptime: 105
kern.timecounter.nnanouptime: 0
kern.timecounter.nbinuptime: 2438
kern.timecounter.stepwarnings: 0
kern.timecounter.tc.i8254.mask: 65535
kern.timecounter.tc.i8254.counter: 18347
kern.timecounter.tc.i8254.frequency: 1193182
kern.timecounter.tc.i8254.quality: 0
kern.timecounter.tc.ACPI-fast.mask: 16777215
kern.timecounter.tc.ACPI-fast.counter: 10547137
kern.timecounter.tc.ACPI-fast.frequency: 3579545
kern.timecounter.tc.ACPI-fast.quality: 1000
kern.timecounter.tc.HPET.mask: 4294967295
kern.timecounter.tc.HPET.counter: 1701047335
kern.timecounter.tc.HPET.frequency: 14318180
kern.timecounter.tc.HPET.quality: 900
kern.timecounter.tc.TSC.mask: 4294967295
kern.timecounter.tc.TSC.counter: 1731538528
kern.timecounter.tc.TSC.frequency: 2393994936
kern.timecounter.tc.TSC.quality: -100
kern.timecounter.smp_tsc: 0
kern.threads.virtual_cpu: 2
kern.threads.max_threads_hits: 0
kern.threads.max_threads_per_proc: 1500
kern.ccpu: 0
kern.sched.preemption: 1
kern.sched.topology: 0
kern.sched.steal_thresh: 1
kern.sched.steal_idle: 1
kern.sched.steal_htt: 1
kern.sched.balance_interval: 133
kern.sched.balance: 1
kern.sched.tryself: 1
kern.sched.affinity: 3
kern.sched.pick_pri: 1
kern.sched.preempt_thresh: 64
kern.sched.interact: 30
kern.sched.slice: 13
kern.sched.name: ULE
kern.devstat.version: 6
kern.devstat.generation: 61
kern.devstat.numdevs: 1
kern.kobj_methodcount: 148
kern.log_wakeups_per_second: 5
kern.msgbuf_clear: 0
kern.msgbuf:=20
kern.always_console_output: 0
kern.log_console_output: 1
kern.smp.forward_roundrobin_enabled: 1
kern.smp.forward_signal_enabled: 1
kern.smp.cpus: 2
kern.smp.disabled: 0
kern.smp.active: 1
kern.smp.maxcpus: 16
kern.smp.maxid: 1
kern.nselcoll: 0
kern.tty_nout: 938
kern.tty_nin: 152
kern.drainwait: 300
kern.constty_wakeups_per_second: 5
kern.consmsgbuf_size: 8192
kern.consmute: 0
kern.console: consolectl,dcons,/dcons,consolectl,ttyd0,
kern.minvnodes: 25000
kern.metadelay: 28
kern.dirdelay: 29
kern.filedelay: 30
kern.chroot_allow_open_directories: 1
kern.rpc.invalid: 0
kern.rpc.unexpected: 0
kern.rpc.timeouts: 0
kern.rpc.request: 0
kern.rpc.retries: 0
kern.elf32.fallback_brand: -1
kern.random.yarrow.gengateinterval: 10
kern.random.yarrow.bins: 10
kern.random.yarrow.fastthresh: 192
kern.random.yarrow.slowthresh: 256
kern.random.yarrow.slowoverthresh: 2
kern.random.sys.seeded: 1
kern.random.sys.harvest.ethernet: 1
kern.random.sys.harvest.point_to_point: 1
kern.random.sys.harvest.interrupt: 1
kern.random.sys.harvest.swi: 0
vm.vmtotal:=20
System wide totals computed every five seconds: (values in kilobytes)
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Processes:		(RUNQ: 1 Disk Wait: 0 Page Wait: 0 Sleep: 2)
Virtual Memory:		(Total: 4256868K, Active 12220K)
Real Memory:		(Total: 45276K Active 4224K)
Shared Virtual Memory:	(Total: 2852K Active: 2852K)
Shared Real Memory:	(Total: 1816K Active: 1816K)
Free Memory Pages:	1968584K

vm.loadavg: { 0.41 0.28 0.12 }
vm.v_free_min: 3231
vm.v_free_target: 13631
vm.v_free_reserved: 707
vm.v_inactive_target: 20446
vm.v_cache_min: 13631
vm.v_cache_max: 27262
vm.v_pageout_free_min: 34
vm.pageout_algorithm: 0
vm.swap_enabled: 1
vm.kmem_size_scale: 3
vm.kmem_size_max: 419430400
vm.kmem_size_min: 0
vm.kmem_size: 419430400
vm.nswapdev: 0
vm.dmmax: 32
vm.swap_async_max: 4
vm.zone_count: 84
vm.swap_idle_threshold2: 10
vm.swap_idle_threshold1: 2
vm.exec_map_entries: 16
vm.stats.misc.zero_page_count: 1
vm.stats.misc.cnt_prezero: 0
vm.stats.vm.v_kthreadpages: 0
vm.stats.vm.v_rforkpages: 0
vm.stats.vm.v_vforkpages: 1278
vm.stats.vm.v_forkpages: 1088
vm.stats.vm.v_kthreads: 50
vm.stats.vm.v_rforks: 0
vm.stats.vm.v_vforks: 6
vm.stats.vm.v_forks: 5
vm.stats.vm.v_interrupt_free_min: 2
vm.stats.vm.v_pageout_free_min: 34
vm.stats.vm.v_cache_max: 27262
vm.stats.vm.v_cache_min: 13631
vm.stats.vm.v_cache_count: 8
vm.stats.vm.v_inactive_count: 452
vm.stats.vm.v_inactive_target: 20446
vm.stats.vm.v_active_count: 601
vm.stats.vm.v_wire_count: 11895
vm.stats.vm.v_free_count: 492138
vm.stats.vm.v_free_min: 3231
vm.stats.vm.v_free_target: 13631
vm.stats.vm.v_free_reserved: 707
vm.stats.vm.v_page_count: 505107
vm.stats.vm.v_page_size: 4096
vm.stats.vm.v_tfree: 4770
vm.stats.vm.v_pfree: 331
vm.stats.vm.v_dfree: 0
vm.stats.vm.v_tcached: 41
vm.stats.vm.v_pdpages: 0
vm.stats.vm.v_pdwakeups: 0
vm.stats.vm.v_reactivated: 33
vm.stats.vm.v_intrans: 3
vm.stats.vm.v_vnodepgsout: 0
vm.stats.vm.v_vnodepgsin: 574
vm.stats.vm.v_vnodeout: 0
vm.stats.vm.v_vnodein: 68
vm.stats.vm.v_swappgsout: 0
vm.stats.vm.v_swappgsin: 0
vm.stats.vm.v_swapout: 0
vm.stats.vm.v_swapin: 0
vm.stats.vm.v_ozfod: 0
vm.stats.vm.v_zfod: 726
vm.stats.vm.v_cow_optim: 0
vm.stats.vm.v_cow_faults: 294
vm.stats.vm.v_vm_faults: 10518
vm.stats.sys.v_soft: 12634
vm.stats.sys.v_intr: 955
vm.stats.sys.v_syscall: 5288
vm.stats.sys.v_trap: 1284
vm.stats.sys.v_swtch: 35277
vm.stats.object.bypasses: 0
vm.stats.object.collapses: 21
vm.v_free_severe: 1969
vm.max_proc_mmap: 37449
vm.old_msync: 0
vm.msync_flush_flags: 3
vm.boot_pages: 48
vm.max_wired: 164653
vm.pageout_lock_miss: 0
vm.disable_swapspace_pageouts: 0
vm.defer_swapspace_pageouts: 0
vm.swap_idle_enabled: 0
vm.pageout_stats_interval: 5
vm.pageout_full_stats_interval: 20
vm.pageout_stats_max: 13631
vm.max_launder: 32
vm.phys_segs:=20
SEGMENT 0:

start:     0x1000
end:       0x9b000
free list: 0xffffffff80ad8488

SEGMENT 1:

start:     0xd47000
end:       0x1000000
free list: 0xffffffff80ad8488

SEGMENT 2:

start:     0x1000000
end:       0x7c1c0000
free list: 0xffffffff80ad80e0

vm.phys_free:=20
FREE LIST 0:

  ORDER (SIZE)  |  NUMBER
                |  POOL 0  |  POOL 1  |  POOL 2
--            -- --      -- --      -- --      --
  12 ( 16384K)  |     119  |       0  |       0
  11 (  8192K)  |       1  |       0  |       0
  10 (  4096K)  |       0  |       1  |       0
   9 (  2048K)  |       0  |       0  |       0
   8 (  1024K)  |       1  |       1  |       0
   7 (   512K)  |       1  |       0  |       0
   6 (   256K)  |       0  |       1  |       0
   5 (   128K)  |       0  |       1  |       0
   4 (    64K)  |       1  |       1  |       0
   3 (    32K)  |       1  |       1  |       0
   2 (    16K)  |       1  |       0  |       0
   1 (     8K)  |       0  |       1  |       2
   0 (     4K)  |       0  |       0  |       4

FREE LIST 1:

  ORDER (SIZE)  |  NUMBER
                |  POOL 0  |  POOL 1  |  POOL 2
--            -- --      -- --      -- --      --
  12 ( 16384K)  |       0  |       0  |       0
  11 (  8192K)  |       0  |       0  |       0
  10 (  4096K)  |       0  |       0  |       0
   9 (  2048K)  |       1  |       0  |       0
   8 (  1024K)  |       0  |       0  |       0
   7 (   512K)  |       1  |       0  |       0
   6 (   256K)  |       1  |       0  |       0
   5 (   128K)  |       2  |       0  |       0
   4 (    64K)  |       3  |       0  |       0
   3 (    32K)  |       3  |       0  |       0
   2 (    16K)  |       1  |       0  |       0
   1 (     8K)  |       2  |       0  |       0
   0 (     4K)  |       3  |       0  |       0

vm.idlezero_enable: 0
vm.kvm_free: 1342173184
vm.kvm_size: 2147479552
vm.pmap.pmap_collect_active: 0
vm.pmap.pmap_collect_inactive: 0
vm.pmap.pv_entry_spare: 402
vm.pmap.pv_entry_allocs: 5089
vm.pmap.pv_entry_frees: 3643
vm.pmap.pc_chunk_tryfail: 0
vm.pmap.pc_chunk_frees: 35
vm.pmap.pc_chunk_allocs: 46
vm.pmap.pc_chunk_count: 11
vm.pmap.pv_entry_count: 1446
vm.pmap.shpgperproc: 200
vm.pmap.pv_entry_max: 1737907
vfs.ufs.dirhash_docheck: 0
vfs.ufs.dirhash_mem: 85374
vfs.ufs.dirhash_maxmem: 2097152
vfs.ufs.dirhash_minsize: 2560
vfs.devfs.rule_depth: 1
vfs.devfs.generation: 87
vfs.nfs4.access_cache_timeout: 60
vfs.nfs.downdelayinitial: 12
vfs.nfs.downdelayinterval: 30
vfs.nfs.skip_wcc_data_onerr: 1
vfs.nfs.nfs3_jukebox_delay: 10
vfs.nfs.reconnects: 0
vfs.nfs.bufpackets: 4
vfs.nfs.realign_count: 0
vfs.nfs.realign_test: 0
vfs.nfs.defect: 0
vfs.nfs.iodmax: 20
vfs.nfs.iodmin: 0
vfs.nfs.iodmaxidle: 120
vfs.nfs.diskless_rootpath:=20
vfs.nfs.diskless_valid: 0
vfs.nfs.nfs_ip_paranoia: 1
vfs.nfs.nfs_directio_allow_mmap: 1
vfs.nfs.nfs_directio_enable: 0
vfs.nfs.clean_pages_on_close: 1
vfs.nfs.nfsv3_commit_on_close: 0
vfs.nfs.access_cache_timeout: 60
vfs.pfs.trace: 0
vfs.pfs.vncache.misses: 0
vfs.pfs.vncache.hits: 0
vfs.pfs.vncache.maxentries: 0
vfs.pfs.vncache.entries: 0
vfs.flushwithdeps: 0
vfs.getnewbufrestarts: 0
vfs.getnewbufcalls: 136
vfs.hifreebuffers: 1528
vfs.lofreebuffers: 764
vfs.numfreebuffers: 13671
vfs.dirtybufthresh: 3095
vfs.hidirtybuffers: 3439
vfs.lodirtybuffers: 1719
vfs.numdirtybuffers: 6
vfs.recursiveflushes: 0
vfs.altbufferflushes: 0
vfs.bdwriteskip: 0
vfs.dirtybufferflushes: 0
vfs.hirunningspace: 1048576
vfs.lorunningspace: 524288
vfs.bufdefragcnt: 0
vfs.buffreekvacnt: 0
vfs.bufreusecnt: 135
vfs.hibufspace: 223428608
vfs.lobufspace: 223363072
vfs.maxmallocbufspace: 11171430
vfs.bufmallocspace: 0
vfs.maxbufspace: 224083968
vfs.bufspace: 2211840
vfs.runningbufspace: 0
vfs.vmiodirenable: 1
vfs.cache.numfullpathfound: 2
vfs.cache.numfullpathfail4: 0
vfs.cache.numfullpathfail2: 0
vfs.cache.numfullpathfail1: 0
vfs.cache.numfullpathcalls: 2
vfs.cache.nchstats: 423 13 1 0 135 0 1 14
vfs.cache.numneghits: 13
vfs.cache.numnegzaps: 0
vfs.cache.numposhits: 423
vfs.cache.numposzaps: 1
vfs.cache.nummisszap: 0
vfs.cache.nummiss: 135
vfs.cache.numchecks: 437
vfs.cache.dotdothits: 0
vfs.cache.dothits: 5
vfs.cache.numcalls: 577
vfs.cache.numcache: 62
vfs.cache.numneg: 3
vfs.read_max: 8
vfs.write_behind: 1
vfs.lookup_shared: 0
vfs.usermount: 0
vfs.worklist_len: 2
vfs.timestamp_precision: 0
vfs.reassignbufcalls: 6
vfs.freevnodes: 2
vfs.wantfreevnodes: 25000
vfs.numvnodes: 69
vfs.nfsrv.nfs_privport: 0
vfs.nfsrv.commit_miss: 0
vfs.nfsrv.commit_blks: 0
vfs.nfsrv.async: 0
vfs.nfsrv.realign_count: 0
vfs.nfsrv.realign_test: 0
vfs.nfsrv.gatherdelay_v3: 0
vfs.nfsrv.gatherdelay: 10000
vfs.ffs.doreallocblks: 1
vfs.ffs.doasyncfree: 1
vfs.ffs.compute_summary_at_mount: 0
net.local.stream.recvspace: 8192
net.local.stream.sendspace: 8192
net.local.dgram.recvspace: 4096
net.local.dgram.maxdgram: 2048
net.local.recycled: 0
net.local.taskcount: 0
net.local.inflight: 0
net.inet.ip.portrange.randomtime: 45
net.inet.ip.portrange.randomcps: 10
net.inet.ip.portrange.randomized: 1
net.inet.ip.portrange.reservedlow: 0
net.inet.ip.portrange.reservedhigh: 1023
net.inet.ip.portrange.hilast: 65535
net.inet.ip.portrange.hifirst: 49152
net.inet.ip.portrange.last: 65535
net.inet.ip.portrange.first: 49152
net.inet.ip.portrange.lowlast: 600
net.inet.ip.portrange.lowfirst: 1023
net.inet.ip.forwarding: 0
net.inet.ip.redirect: 1
net.inet.ip.ttl: 64
net.inet.ip.rtexpire: 3600
net.inet.ip.rtminexpire: 10
net.inet.ip.rtmaxcache: 128
net.inet.ip.sourceroute: 0
net.inet.ip.intr_queue_maxlen: 50
net.inet.ip.intr_queue_drops: 0
net.inet.ip.accept_sourceroute: 0
net.inet.ip.keepfaith: 0
net.inet.ip.gifttl: 30
net.inet.ip.same_prefix_carp_only: 0
net.inet.ip.subnets_are_local: 0
net.inet.ip.fastforwarding: 0
net.inet.ip.maxfragpackets: 800
net.inet.ip.maxfragsperpacket: 16
net.inet.ip.fragpackets: 0
net.inet.ip.check_interface: 0
net.inet.ip.random_id: 0
net.inet.ip.sendsourcequench: 0
net.inet.ip.process_options: 1
net.inet.icmp.maskrepl: 0
net.inet.icmp.icmplim: 200
net.inet.icmp.bmcastecho: 0
net.inet.icmp.quotelen: 8
net.inet.icmp.reply_from_interface: 0
net.inet.icmp.reply_src:=20
net.inet.icmp.icmplim_output: 1
net.inet.icmp.log_redirect: 0
net.inet.icmp.drop_redirect: 0
net.inet.icmp.maskfake: 0
net.inet.tcp.rfc1323: 1
net.inet.tcp.mssdflt: 512
net.inet.tcp.keepidle: 7200000
net.inet.tcp.keepintvl: 75000
net.inet.tcp.sendspace: 32768
net.inet.tcp.recvspace: 65536
net.inet.tcp.keepinit: 75000
net.inet.tcp.delacktime: 100
net.inet.tcp.v6mssdflt: 1024
net.inet.tcp.hostcache.purge: 0
net.inet.tcp.hostcache.prune: 300
net.inet.tcp.hostcache.expire: 3600
net.inet.tcp.hostcache.count: 0
net.inet.tcp.hostcache.bucketlimit: 30
net.inet.tcp.hostcache.hashsize: 512
net.inet.tcp.hostcache.cachelimit: 15360
net.inet.tcp.recvbuf_max: 262144
net.inet.tcp.recvbuf_inc: 16384
net.inet.tcp.recvbuf_auto: 1
net.inet.tcp.insecure_rst: 0
net.inet.tcp.rfc3390: 1
net.inet.tcp.rfc3042: 1
net.inet.tcp.drop_synfin: 0
net.inet.tcp.delayed_ack: 1
net.inet.tcp.blackhole: 0
net.inet.tcp.log_in_vain: 0
net.inet.tcp.sendbuf_max: 262144
net.inet.tcp.sendbuf_inc: 8192
net.inet.tcp.sendbuf_auto: 1
net.inet.tcp.tso: 1
net.inet.tcp.newreno: 1
net.inet.tcp.local_slowstart_flightsize: 4
net.inet.tcp.slowstart_flightsize: 1
net.inet.tcp.path_mtu_discovery: 1
net.inet.tcp.reass.overflows: 0
net.inet.tcp.reass.maxqlen: 48
net.inet.tcp.reass.cursegments: 0
net.inet.tcp.reass.maxsegments: 1600
net.inet.tcp.sack.globalholes: 0
net.inet.tcp.sack.globalmaxholes: 65536
net.inet.tcp.sack.maxholes: 128
net.inet.tcp.sack.enable: 1
net.inet.tcp.inflight.stab: 20
net.inet.tcp.inflight.max: 1073725440
net.inet.tcp.inflight.min: 6144
net.inet.tcp.inflight.rttthresh: 10
net.inet.tcp.inflight.debug: 0
net.inet.tcp.inflight.enable: 1
net.inet.tcp.isn_reseed_interval: 0
net.inet.tcp.icmp_may_rst: 1
net.inet.tcp.pcbcount: 0
net.inet.tcp.do_tcpdrain: 1
net.inet.tcp.tcbhashsize: 512
net.inet.tcp.log_debug: 0
net.inet.tcp.minmss: 216
net.inet.tcp.syncache.rst_on_sock_fail: 1
net.inet.tcp.syncache.rexmtlimit: 3
net.inet.tcp.syncache.hashsize: 512
net.inet.tcp.syncache.count: 0
net.inet.tcp.syncache.cachelimit: 15360
net.inet.tcp.syncache.bucketlimit: 30
net.inet.tcp.syncookies_only: 0
net.inet.tcp.syncookies: 1
net.inet.tcp.timer_race: 0
net.inet.tcp.finwait2_timeout: 60000
net.inet.tcp.fast_finwait2_recycle: 0
net.inet.tcp.always_keepalive: 1
net.inet.tcp.rexmit_slop: 200
net.inet.tcp.rexmit_min: 30
net.inet.tcp.msl: 30000
net.inet.tcp.nolocaltimewait: 0
net.inet.tcp.maxtcptw: 5120
net.inet.udp.checksum: 1
net.inet.udp.maxdgram: 9216
net.inet.udp.recvspace: 42080
net.inet.udp.soreceive_dgram_enabled: 0
net.inet.udp.blackhole: 0
net.inet.udp.log_in_vain: 0
net.inet.sctp.enable_sack_immediately: 0
net.inet.sctp.udp_tunneling_port: 0
net.inet.sctp.udp_tunneling_for_client_enable: 0
net.inet.sctp.mobility_fasthandoff: 0
net.inet.sctp.mobility_base: 0
net.inet.sctp.default_frag_interleave: 1
net.inet.sctp.default_cc_module: 0
net.inet.sctp.log_level: 0
net.inet.sctp.max_retran_chunk: 30
net.inet.sctp.min_residual: 1452
net.inet.sctp.strict_data_order: 0
net.inet.sctp.abort_at_limit: 0
net.inet.sctp.hb_max_burst: 4
net.inet.sctp.do_sctp_drain: 1
net.inet.sctp.max_chained_mbufs: 5
net.inet.sctp.abc_l_var: 1
net.inet.sctp.nat_friendly: 1
net.inet.sctp.auth_disable: 0
net.inet.sctp.asconf_auth_nochk: 0
net.inet.sctp.early_fast_retran_msec: 250
net.inet.sctp.early_fast_retran: 0
net.inet.sctp.cwnd_maxburst: 1
net.inet.sctp.cmt_pf: 0
net.inet.sctp.cmt_use_dac: 0
net.inet.sctp.cmt_on_off: 0
net.inet.sctp.outgoing_streams: 10
net.inet.sctp.add_more_on_output: 1452
net.inet.sctp.path_rtx_max: 5
net.inet.sctp.assoc_rtx_max: 10
net.inet.sctp.init_rtx_max: 8
net.inet.sctp.valid_cookie_life: 60000
net.inet.sctp.init_rto_max: 60000
net.inet.sctp.rto_initial: 3000
net.inet.sctp.rto_min: 1000
net.inet.sctp.rto_max: 60000
net.inet.sctp.secret_lifetime: 3600
net.inet.sctp.shutdown_guard_time: 180
net.inet.sctp.pmtu_raise_time: 600
net.inet.sctp.heartbeat_interval: 30000
net.inet.sctp.asoc_resource: 10
net.inet.sctp.sys_resource: 1000
net.inet.sctp.sack_freq: 2
net.inet.sctp.delayed_sack_time: 200
net.inet.sctp.chunkscale: 10
net.inet.sctp.min_split_point: 2904
net.inet.sctp.pcbhashsize: 256
net.inet.sctp.tcbhashsize: 1024
net.inet.sctp.maxchunks: 3200
net.inet.sctp.maxburst: 4
net.inet.sctp.peer_chkoh: 256
net.inet.sctp.strict_init: 1
net.inet.sctp.loopback_nocsum: 1
net.inet.sctp.strict_sacks: 0
net.inet.sctp.ecn_nonce: 0
net.inet.sctp.ecn_enable: 1
net.inet.sctp.auto_asconf: 1
net.inet.sctp.recvspace: 233016
net.inet.sctp.sendspace: 233016
net.inet.raw.recvspace: 9216
net.inet.raw.maxdgram: 9216
net.inet.accf.unloadable: 0
net.link.generic.system.ifcount: 4
net.link.ether.inet.log_arp_permanent_modify: 1
net.link.ether.inet.log_arp_movements: 1
net.link.ether.inet.log_arp_wrong_iface: 1
net.link.ether.inet.proxyall: 0
net.link.ether.inet.useloopback: 1
net.link.ether.inet.maxtries: 5
net.link.ether.inet.max_age: 1200
net.link.ether.ipfw: 0
net.link.gif.parallel_tunnels: 0
net.link.gif.max_nesting: 1
net.link.log_link_state_change: 1
net.link.tun.devfs_cloning: 1
net.inet6.ip6.forwarding: 0
net.inet6.ip6.redirect: 1
net.inet6.ip6.hlim: 64
net.inet6.ip6.maxfragpackets: 6400
net.inet6.ip6.accept_rtadv: 0
net.inet6.ip6.keepfaith: 0
net.inet6.ip6.log_interval: 5
net.inet6.ip6.hdrnestlimit: 15
net.inet6.ip6.dad_count: 1
net.inet6.ip6.auto_flowlabel: 1
net.inet6.ip6.defmcasthlim: 1
net.inet6.ip6.gifhlim: 30
net.inet6.ip6.kame_version: FreeBSD
net.inet6.ip6.use_deprecated: 1
net.inet6.ip6.rr_prune: 5
net.inet6.ip6.v6only: 1
net.inet6.ip6.rtexpire: 3600
net.inet6.ip6.rtminexpire: 10
net.inet6.ip6.rtmaxcache: 128
net.inet6.ip6.use_tempaddr: 0
net.inet6.ip6.temppltime: 86400
net.inet6.ip6.tempvltime: 604800
net.inet6.ip6.auto_linklocal: 1
net.inet6.ip6.prefer_tempaddr: 0
net.inet6.ip6.use_defaultzone: 0
net.inet6.ip6.maxfrags: 6400
net.inet6.ip6.mcast_pmtu: 0
net.inet6.icmp6.rediraccept: 1
net.inet6.icmp6.redirtimeout: 600
net.inet6.icmp6.nd6_prune: 1
net.inet6.icmp6.nd6_delay: 5
net.inet6.icmp6.nd6_umaxtries: 3
net.inet6.icmp6.nd6_mmaxtries: 3
net.inet6.icmp6.nd6_useloopback: 1
net.inet6.icmp6.nodeinfo: 3
net.inet6.icmp6.errppslimit: 100
net.inet6.icmp6.nd6_maxnudhint: 0
net.inet6.icmp6.nd6_debug: 0
net.inet6.icmp6.nd6_maxqueuelen: 1
net.inet6.icmp6.nd6_onlink_ns_rfc4861: 0
net.bpf.maxinsns: 512
net.bpf.maxbufsize: 524288
net.bpf.bufsize: 4096
net.isr.swi_count: 0
net.isr.drop: 0
net.isr.queued: 0
net.isr.deferred: 0
net.isr.directed: 0
net.isr.count: 0
net.isr.direct: 1
net.raw.recvspace: 8192
net.raw.sendspace: 8192
net.my_fibnum: 0
net.add_addr_allfibs: 1
net.fibs: 1
net.route.netisr_maxqlen: 256
net.wlan.recv_bar: 1
net.wlan.debug: 0
debug.acpi.semaphore_debug: 0
debug.acpi.suspend_bounce: 0
debug.acpi.do_powerstate: 1
debug.acpi.acpi_ca_version: 20070320
debug.acpi.ec.timeout: 750
debug.acpi.ec.polled: 0
debug.acpi.ec.burst: 0
debug.firewire_debug: 0
debug.fwmem_debug: 0
debug.if_fwe_debug: 0
debug.if_fwip_debug: 0
debug.sbp_debug: 0
debug.mddebug: 0
debug.elf64_legacy_coredump: 0
debug.elf64_trace: 0
debug.bootverbose: 0
debug.boothowto: 2
debug.cpufreq.verbose: 0
debug.cpufreq.lowest: 0
debug.sizeof.cdev_priv: 376
debug.sizeof.cdev: 288
debug.sizeof.g_bioq: 72
debug.sizeof.g_consumer: 96
debug.sizeof.g_provider: 136
debug.sizeof.g_geom: 136
debug.sizeof.g_class: 136
debug.sizeof.kinfo_proc: 1088
debug.sizeof.buf: 640
debug.sizeof.bio: 216
debug.sizeof.proc: 1144
debug.sizeof.vnode: 504
debug.sizeof.devstat: 288
debug.sizeof.namecache: 72
debug.to_avg_mpcalls: 1754
debug.to_avg_mtxcalls: 0
debug.to_avg_gcalls: 1101
debug.to_avg_depth: 3036
debug.umtx.umtx_pi_allocated: 0
debug.kdb.stop_cpus: 1
debug.kdb.trap_code: 0
debug.kdb.trap: 0
debug.kdb.panic: 0
debug.kdb.enter: 0
debug.kdb.current:=20
debug.kdb.available:=20
debug.rman_debug: 0
debug.ttydebug: 0
debug.disablefullpath: 0
debug.disablecwd: 0
debug.hashstat.nchash: 131072 62 1 4
debug.vfscache: 1
debug.numcachehv: 19
debug.numcache: 62
debug.numneg: 3
debug.ncnegfactor: 16
debug.nchash: 131071
debug.vnlru_nowhere: 0
debug.rush_requests: 0
debug.mpsafevfs: 1
debug.if_tun_debug: 0
debug.nlm_debug: 0
debug.collectsnapstats: 0
debug.snapdebug: 0
debug.dopersistence: 0
debug.dir_entry: 0
debug.direct_blk_ptrs: 0
debug.inode_bitmap: 0
debug.indir_blk_ptrs: 0
debug.sync_limit_hit: 0
debug.ino_limit_hit: 0
debug.blk_limit_hit: 0
debug.ino_limit_push: 0
debug.blk_limit_push: 0
debug.worklist_push: 0
debug.maxindirdeps: 50
debug.tickdelay: 2
debug.max_softdeps: 400000
debug.dobkgrdwrite: 1
debug.bigcgs: 0
debug.dircheck: 0
debug.nosleepwithlocks: 0
debug.minidump: 1
debug.stop_cpus_with_nmi: 1
debug.psm.pkterrthresh: 2
debug.psm.usecs: 500000
debug.psm.secs: 0
debug.psm.errusecs: 0
debug.psm.errsecs: 2
debug.psm.hz: 20
debug.psm.loglevel: 0
debug.fdc.settle: 0
debug.fdc.spec2: 16
debug.fdc.spec1: 175
debug.fdc.retries: 10
debug.fdc.debugflags: 0
debug.fdc.fifo: 8
debug.elf32_legacy_coredump: 0
debug.elf32_trace: 0
hw.machine: amd64
hw.model: Intel(R) Core(TM)2 Duo CPU     E4600  @ 2.40GHz
hw.ncpu: 2
hw.byteorder: 1234
hw.physmem: 2132099072
hw.usermem: 2083360768
hw.pagesize: 4096
hw.floatingpoint: 1
hw.machine_arch: amd64
hw.realmem: 2145390592
hw.aac.iosize_max: 65536
hw.amr.force_sg32: 0
hw.an.an_cache_iponly: 1
hw.an.an_cache_mcastonly: 0
hw.an.an_cache_mode: dbm
hw.an.an_dump: off
hw.ata.wc: 1
hw.ata.atapi_dma: 1
hw.ata.ata_dma_check_80pin: 1
hw.ata.ata_dma: 1
hw.ath.hal.swba_backoff: 0
hw.ath.hal.sw_brt: 10
hw.ath.hal.dma_brt: 2
hw.ath.hal.version: 0.9.20.3
hw.ath.txbuf: 200
hw.ath.rxbuf: 40
hw.ath.regdomain: 0
hw.ath.countrycode: 0
hw.ath.xchanmode: 1
hw.ath.outdoor: 1
hw.ath.calibrate: 30
hw.bce.msi_enable: 1
hw.bce.tso_enable: 1
hw.bge.allow_asf: 0
hw.cardbus.cis_debug: 0
hw.cardbus.debug: 0
hw.cs.recv_delay: 570
hw.cs.ignore_checksum_failure: 0
hw.cs.debug: 0
hw.firewire.hold_count: 3
hw.firewire.try_bmr: 1
hw.firewire.fwmem.speed: 2
hw.firewire.fwmem.eui64_lo: 0
hw.firewire.fwmem.eui64_hi: 0
hw.firewire.phydma_enable: 1
hw.firewire.nocyclemaster: 0
hw.firewire.fwe.rx_queue_len: 128
hw.firewire.fwe.tx_speed: 2
hw.firewire.fwe.stream_ch: 1
hw.firewire.fwip.rx_queue_len: 128
hw.firewire.sbp.tags: 0
hw.firewire.sbp.use_doorbell: 0
hw.firewire.sbp.scan_delay: 500
hw.firewire.sbp.login_delay: 1000
hw.firewire.sbp.exclusive_login: 1
hw.firewire.sbp.max_speed: -1
hw.firewire.sbp.auto_login: 1
hw.mfi.max_cmds: 128
hw.mfi.event_class: 0
hw.mfi.event_locale: 65535
hw.pccard.cis_debug: 0
hw.pccard.debug: 0
hw.cbb.debug: 0
hw.cbb.start_32_io: 4096
hw.cbb.start_16_io: 256
hw.cbb.start_memory: 2281701376
hw.pcic.pd6722_vsense: 1
hw.pcic.intr_mask: 57016
hw.pci.honor_msi_blacklist: 1
hw.pci.enable_msix: 1
hw.pci.enable_msi: 1
hw.pci.do_power_resume: 1
hw.pci.do_power_nodriver: 0
hw.pci.enable_io_modes: 1
hw.pci.host_mem_start: 2147483648
hw.syscons.kbd_debug: 1
hw.syscons.kbd_reboot: 1
hw.syscons.bell: 1
hw.syscons.saver.keybonly: 1
hw.syscons.sc_no_suspend_vtswitch: 0
hw.usb.uplcom.interval: 100
hw.usb.uvscom.interval: 100
hw.usb.uvscom.opktsize: 8
hw.wi.debug: 0
hw.wi.txerate: 0
hw.xe.debug: 0
hw.intr_storm_threshold: 1000
hw.availpages: 520532
hw.bus.devctl_disable: 0
hw.ste.rxsyncs: 0
hw.busdma.total_bpages: 6401
hw.busdma.zone0.total_bpages: 257
hw.busdma.zone0.free_bpages: 257
hw.busdma.zone0.reserved_bpages: 0
hw.busdma.zone0.active_bpages: 0
hw.busdma.zone0.total_bounced: 0
hw.busdma.zone0.total_deferred: 0
hw.busdma.zone0.lowaddr: 0xffffffff
hw.busdma.zone0.alignment: 8
hw.busdma.zone0.boundary: 0
hw.busdma.zone1.total_bpages: 6144
hw.busdma.zone1.free_bpages: 6144
hw.busdma.zone1.reserved_bpages: 0
hw.busdma.zone1.active_bpages: 0
hw.busdma.zone1.total_bounced: 0
hw.busdma.zone1.total_deferred: 0
hw.busdma.zone1.lowaddr: 0xfffffffffffffff
hw.busdma.zone1.alignment: 2
hw.busdma.zone1.boundary: 65536
hw.clockrate: 2393
hw.instruction_sse: 1
hw.apic.enable_extint: 0
hw.psm.tap_timeout: 125000
hw.psm.tap_threshold: 25
hw.kbd.keymap_restrict_change: 0
hw.acpi.supported_sleep_state: S1 S3 S4 S5
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S1
hw.acpi.lid_switch_state: NONE
hw.acpi.standby_state: S1
hw.acpi.suspend_state: S3
hw.acpi.sleep_delay: 1
hw.acpi.s4bios: 0
hw.acpi.verbose: 0
hw.acpi.disable_on_reboot: 0
hw.acpi.handle_reboot: 0
hw.acpi.cpu.cx_lowest: C1
machdep.acpi_timer_freq: 3579545
machdep.enable_panic_key: 0
machdep.adjkerntz: 0
machdep.wall_cmos_clock: 0
machdep.disable_rtc_set: 0
machdep.acpi_root: 1043440
machdep.disable_mtrrs: 0
machdep.cpu_idle_hlt: 1
machdep.hlt_cpus: 0
machdep.prot_fault_translation: 0
machdep.panic_on_nmi: 1
machdep.tsc_freq: 2393994936
machdep.i8254_freq: 1193182
machdep.conspeed: 9600
machdep.gdbspeed: 9600
machdep.conrclk: 1843200
machdep.hlt_logical_cpus: 0
machdep.logical_cpus_mask: 2
user.cs_path: /usr/bin:/bin:/usr/sbin:/sbin:
user.bc_base_max: 99
user.bc_dim_max: 2048
user.bc_scale_max: 99
user.bc_string_max: 1000
user.coll_weights_max: 0
user.expr_nest_max: 32
user.line_max: 2048
user.re_dup_max: 255
user.posix2_version: 199212
user.posix2_c_bind: 0
user.posix2_c_dev: 0
user.posix2_char_term: 0
user.posix2_fort_dev: 0
user.posix2_fort_run: 0
user.posix2_localedef: 0
user.posix2_sw_dev: 0
user.posix2_upe: 0
user.stream_max: 20
user.tzname_max: 255
p1003_1b.asynchronous_io: 0
p1003_1b.mapped_files: 1
p1003_1b.memlock: 0
p1003_1b.memlock_range: 0
p1003_1b.memory_protection: 0
p1003_1b.message_passing: 0
p1003_1b.prioritized_io: 0
p1003_1b.priority_scheduling: 1
p1003_1b.realtime_signals: 200112
p1003_1b.semaphores: 0
p1003_1b.fsync: 0
p1003_1b.shared_memory_objects: 1
p1003_1b.synchronized_io: 0
p1003_1b.timers: 200112
p1003_1b.aio_listio_max: -1
p1003_1b.aio_max: -1
p1003_1b.aio_prio_delta_max: -1
p1003_1b.delaytimer_max: 2147483647
p1003_1b.mq_open_max: 0
p1003_1b.pagesize: 4096
p1003_1b.rtsig_max: 62
p1003_1b.sem_nsems_max: 0
p1003_1b.sem_value_max: 0
p1003_1b.sigqueue_max: 128
p1003_1b.timer_max: 32
security.jail.jailed: 0
security.jail.mount_allowed: 0
security.jail.chflags_allowed: 0
security.jail.allow_raw_sockets: 0
security.jail.enforce_statfs: 2
security.jail.sysvipc_allowed: 0
security.jail.socket_unixiproute_only: 1
security.jail.set_hostname_allowed: 1
security.bsd.suser_enabled: 1
security.bsd.unprivileged_proc_debug: 1
security.bsd.conservative_signals: 1
security.bsd.see_other_gids: 1
security.bsd.see_other_uids: 1
security.bsd.unprivileged_read_msgbuf: 1
security.bsd.hardlink_check_gid: 0
security.bsd.hardlink_check_uid: 0
security.bsd.unprivileged_get_quota: 0
compat.ia32.maxvmem: 0
compat.ia32.maxssiz: 67108864
compat.ia32.maxdsiz: 536870912
dev.nexus.0.%driver: nexus
dev.nexus.0.%parent: root0
dev.ram.0.%desc: System RAM
dev.ram.0.%driver: ram
dev.ram.0.%parent: nexus0
dev.acpi.0.%desc: DELL B9K   =20
dev.acpi.0.%driver: acpi
dev.acpi.0.%parent: nexus0
dev.acpi_sysresource.0.%desc: System Resource
dev.acpi_sysresource.0.%driver: acpi_sysresource
dev.acpi_sysresource.0.%location: handle=3D\_SB_.PCI0.ISA_.MBIO
dev.acpi_sysresource.0.%pnpinfo: _HID=3DPNP0C01 _UID=3D11
dev.acpi_sysresource.0.%parent: acpi0
dev.acpi_timer.0.%desc: 24-bit timer at 3.579545MHz
dev.acpi_timer.0.%driver: acpi_timer
dev.acpi_timer.0.%location: unknown
dev.acpi_timer.0.%pnpinfo: unknown
dev.acpi_timer.0.%parent: acpi0
dev.pci_link.0.%desc: ACPI PCI Link LNKA
dev.pci_link.0.%driver: pci_link
dev.pci_link.0.%location: handle=3D\_SB_.LNKA
dev.pci_link.0.%pnpinfo: _HID=3DPNP0C0F _UID=3D12
dev.pci_link.0.%parent: acpi0
dev.pci_link.1.%desc: ACPI PCI Link LNKB
dev.pci_link.1.%driver: pci_link
dev.pci_link.1.%location: handle=3D\_SB_.LNKB
dev.pci_link.1.%pnpinfo: _HID=3DPNP0C0F _UID=3D13
dev.pci_link.1.%parent: acpi0
dev.pci_link.2.%desc: ACPI PCI Link LNKC
dev.pci_link.2.%driver: pci_link
dev.pci_link.2.%location: handle=3D\_SB_.LNKC
dev.pci_link.2.%pnpinfo: _HID=3DPNP0C0F _UID=3D14
dev.pci_link.2.%parent: acpi0
dev.pci_link.3.%desc: ACPI PCI Link LNKD
dev.pci_link.3.%driver: pci_link
dev.pci_link.3.%location: handle=3D\_SB_.LNKD
dev.pci_link.3.%pnpinfo: _HID=3DPNP0C0F _UID=3D15
dev.pci_link.3.%parent: acpi0
dev.pci_link.4.%desc: ACPI PCI Link LNKE
dev.pci_link.4.%driver: pci_link
dev.pci_link.4.%location: handle=3D\_SB_.LNKE
dev.pci_link.4.%pnpinfo: _HID=3DPNP0C0F _UID=3D16
dev.pci_link.4.%parent: acpi0
dev.pci_link.5.%desc: ACPI PCI Link LNKF
dev.pci_link.5.%driver: pci_link
dev.pci_link.5.%location: handle=3D\_SB_.LNKF
dev.pci_link.5.%pnpinfo: _HID=3DPNP0C0F _UID=3D17
dev.pci_link.5.%parent: acpi0
dev.pci_link.6.%desc: ACPI PCI Link LNKG
dev.pci_link.6.%driver: pci_link
dev.pci_link.6.%location: handle=3D\_SB_.LNKG
dev.pci_link.6.%pnpinfo: _HID=3DPNP0C0F _UID=3D18
dev.pci_link.6.%parent: acpi0
dev.pci_link.7.%desc: ACPI PCI Link LNKH
dev.pci_link.7.%driver: pci_link
dev.pci_link.7.%location: handle=3D\_SB_.LNKH
dev.pci_link.7.%pnpinfo: _HID=3DPNP0C0F _UID=3D19
dev.pci_link.7.%parent: acpi0
dev.acpi_hpet.0.%desc: High Precision Event Timer
dev.acpi_hpet.0.%driver: acpi_hpet
dev.acpi_hpet.0.%location: unknown
dev.acpi_hpet.0.%pnpinfo: unknown
dev.acpi_hpet.0.%parent: acpi0
dev.acpi_button.0.%desc: Power Button
dev.acpi_button.0.%driver: acpi_button
dev.acpi_button.0.%location: handle=3D\_SB_.VBTN
dev.acpi_button.0.%pnpinfo: _HID=3DPNP0C0C _UID=3D0
dev.acpi_button.0.%parent: acpi0
dev.acpi_button.0.wake: 1
dev.pcib.0.%desc: ACPI Host-PCI bridge
dev.pcib.0.%driver: pcib
dev.pcib.0.%location: handle=3D\_SB_.PCI0
dev.pcib.0.%pnpinfo: _HID=3DPNP0A03 _UID=3D4
dev.pcib.0.%parent: acpi0
dev.pcib.0.wake: 0
dev.pcib.1.%desc: ACPI PCI-PCI bridge
dev.pcib.1.%driver: pcib
dev.pcib.1.%location: slot=3D1 function=3D0 handle=3D\_SB_.PCI0.PCI1
dev.pcib.1.%pnpinfo: vendor=3D0x8086 device=3D0x29e1 subvendor=3D0x1028 =
subdevice=3D0x0214 class=3D0x060400
dev.pcib.1.%parent: pci0
dev.pcib.1.wake: 0
dev.pcib.2.%desc: PCI-PCI bridge
dev.pcib.2.%driver: pcib
dev.pcib.2.%location: slot=3D6 function=3D0
dev.pcib.2.%pnpinfo: vendor=3D0x8086 device=3D0x29e9 subvendor=3D0x1028 =
subdevice=3D0x0214 class=3D0x060400
dev.pcib.2.%parent: pci0
dev.pcib.3.%desc: ACPI PCI-PCI bridge
dev.pcib.3.%driver: pcib
dev.pcib.3.%location: slot=3D28 function=3D0 handle=3D\_SB_.PCI0.PCI2
dev.pcib.3.%pnpinfo: vendor=3D0x8086 device=3D0x2940 subvendor=3D0x1028 =
subdevice=3D0x0214 class=3D0x060400
dev.pcib.3.%parent: pci0
dev.pcib.4.%desc: ACPI PCI-PCI bridge
dev.pcib.4.%driver: pcib
dev.pcib.4.%location: slot=3D28 function=3D5 handle=3D\_SB_.PCI0.PCI6
dev.pcib.4.%pnpinfo: vendor=3D0x8086 device=3D0x294a subvendor=3D0x1028 =
subdevice=3D0x0214 class=3D0x060400
dev.pcib.4.%parent: pci0
dev.pcib.4.wake: 0
dev.pcib.5.%desc: ACPI PCI-PCI bridge
dev.pcib.5.%driver: pcib
dev.pcib.5.%location: slot=3D30 function=3D0 handle=3D\_SB_.PCI0.PCI4
dev.pcib.5.%pnpinfo: vendor=3D0x8086 device=3D0x244e subvendor=3D0x1028 =
subdevice=3D0x0214 class=3D0x060401
dev.pcib.5.%parent: pci0
dev.pcib.5.wake: 0
dev.pci.0.%desc: ACPI PCI bus
dev.pci.0.%driver: pci
dev.pci.0.%parent: pcib0
dev.pci.0.wake: 0
dev.pci.1.%desc: ACPI PCI bus
dev.pci.1.%driver: pci
dev.pci.1.%parent: pcib1
dev.pci.1.wake: 0
dev.pci.2.%desc: PCI bus
dev.pci.2.%driver: pci
dev.pci.2.%parent: pcib2
dev.pci.3.%desc: ACPI PCI bus
dev.pci.3.%driver: pci
dev.pci.3.%parent: pcib3
dev.pci.4.%desc: ACPI PCI bus
dev.pci.4.%driver: pci
dev.pci.4.%parent: pcib4
dev.pci.4.wake: 0
dev.pci.5.%desc: ACPI PCI bus
dev.pci.5.%driver: pci
dev.pci.5.%parent: pcib5
dev.pci.5.wake: 0
dev.hostb.0.%desc: Host to PCI bridge
dev.hostb.0.%driver: hostb
dev.hostb.0.%location: slot=3D0 function=3D0
dev.hostb.0.%pnpinfo: vendor=3D0x8086 device=3D0x29e0 subvendor=3D0x1028 =
subdevice=3D0x0214 class=3D0x060000
dev.hostb.0.%parent: pci0
dev.vgapci.0.%desc: VGA-compatible display
dev.vgapci.0.%driver: vgapci
dev.vgapci.0.%location: slot=3D0 function=3D0
dev.vgapci.0.%pnpinfo: vendor=3D0x10de device=3D0x042f =
subvendor=3D0x10de subdevice=3D0x0492 class=3D0x030000
dev.vgapci.0.%parent: pci1
dev.uhci.0.%desc: UHCI (generic) USB controller
dev.uhci.0.%driver: uhci
dev.uhci.0.%location: slot=3D26 function=3D0 handle=3D\_SB_.PCI0.USB3
dev.uhci.0.%pnpinfo: vendor=3D0x8086 device=3D0x2937 subvendor=3D0x1028 =
subdevice=3D0x0214 class=3D0x0c0300
dev.uhci.0.%parent: pci0
dev.uhci.0.wake: 0
dev.uhci.1.%desc: UHCI (generic) USB controller
dev.uhci.1.%driver: uhci
dev.uhci.1.%location: slot=3D26 function=3D1 handle=3D\_SB_.PCI0.USB4
dev.uhci.1.%pnpinfo: vendor=3D0x8086 device=3D0x2938 subvendor=3D0x1028 =
subdevice=3D0x0214 class=3D0x0c0300
dev.uhci.1.%parent: pci0
dev.uhci.1.wake: 0
dev.uhci.2.%desc: UHCI (generic) USB controller
dev.uhci.2.%driver: uhci
dev.uhci.2.%location: slot=3D26 function=3D2 handle=3D\_SB_.PCI0.USB5
dev.uhci.2.%pnpinfo: vendor=3D0x8086 device=3D0x2939 subvendor=3D0x1028 =
subdevice=3D0x0214 class=3D0x0c0300
dev.uhci.2.%parent: pci0
dev.uhci.2.wake: 0
dev.uhci.3.%desc: UHCI (generic) USB controller
dev.uhci.3.%driver: uhci
dev.uhci.3.%location: slot=3D29 function=3D0 handle=3D\_SB_.PCI0.USB0
dev.uhci.3.%pnpinfo: vendor=3D0x8086 device=3D0x2934 subvendor=3D0x1028 =
subdevice=3D0x0214 class=3D0x0c0300
dev.uhci.3.%parent: pci0
dev.uhci.3.wake: 0
dev.uhci.4.%desc: UHCI (generic) USB controller
dev.uhci.4.%driver: uhci
dev.uhci.4.%location: slot=3D29 function=3D1 handle=3D\_SB_.PCI0.USB1
dev.uhci.4.%pnpinfo: vendor=3D0x8086 device=3D0x2935 subvendor=3D0x1028 =
subdevice=3D0x0214 class=3D0x0c0300
dev.uhci.4.%parent: pci0
dev.uhci.4.wake: 0
dev.uhci.5.%desc: UHCI (generic) USB controller
dev.uhci.5.%driver: uhci
dev.uhci.5.%location: slot=3D29 function=3D2 handle=3D\_SB_.PCI0.USB2
dev.uhci.5.%pnpinfo: vendor=3D0x8086 device=3D0x2936 subvendor=3D0x1028 =
subdevice=3D0x0214 class=3D0x0c0300
dev.uhci.5.%parent: pci0
dev.uhci.5.wake: 0
dev.usb.0.%desc: UHCI (generic) USB controller
dev.usb.0.%driver: usb
dev.usb.0.%parent: uhci0
dev.usb.1.%desc: UHCI (generic) USB controller
dev.usb.1.%driver: usb
dev.usb.1.%parent: uhci1
dev.usb.2.%desc: UHCI (generic) USB controller
dev.usb.2.%driver: usb
dev.usb.2.%parent: uhci2
dev.usb.3.%desc: EHCI (generic) USB 2.0 controller
dev.usb.3.%driver: usb
dev.usb.3.%parent: ehci0
dev.usb.4.%desc: UHCI (generic) USB controller
dev.usb.4.%driver: usb
dev.usb.4.%parent: uhci3
dev.usb.5.%desc: UHCI (generic) USB controller
dev.usb.5.%driver: usb
dev.usb.5.%parent: uhci4
dev.usb.6.%desc: UHCI (generic) USB controller
dev.usb.6.%driver: usb
dev.usb.6.%parent: uhci5
dev.usb.7.%desc: EHCI (generic) USB 2.0 controller
dev.usb.7.%driver: usb
dev.usb.7.%parent: ehci1
dev.uhub.0.%desc: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
dev.uhub.0.%driver: uhub
dev.uhub.0.%parent: usb0
dev.uhub.1.%desc: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
dev.uhub.1.%driver: uhub
dev.uhub.1.%parent: usb1
dev.uhub.2.%desc: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
dev.uhub.2.%driver: uhub
dev.uhub.2.%parent: usb2
dev.uhub.3.%desc: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
dev.uhub.3.%driver: uhub
dev.uhub.3.%parent: usb3
dev.uhub.4.%desc: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
dev.uhub.4.%driver: uhub
dev.uhub.4.%parent: usb4
dev.uhub.5.%desc: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
dev.uhub.5.%driver: uhub
dev.uhub.5.%parent: usb5
dev.uhub.6.%desc: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
dev.uhub.6.%driver: uhub
dev.uhub.6.%parent: usb6
dev.uhub.7.%desc: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
dev.uhub.7.%driver: uhub
dev.uhub.7.%parent: usb7
dev.ehci.0.%desc: EHCI (generic) USB 2.0 controller
dev.ehci.0.%driver: ehci
dev.ehci.0.%location: slot=3D26 function=3D7
dev.ehci.0.%pnpinfo: vendor=3D0x8086 device=3D0x293c subvendor=3D0x1028 =
subdevice=3D0x0214 class=3D0x0c0320
dev.ehci.0.%parent: pci0
dev.ehci.1.%desc: EHCI (generic) USB 2.0 controller
dev.ehci.1.%driver: ehci
dev.ehci.1.%location: slot=3D29 function=3D7
dev.ehci.1.%pnpinfo: vendor=3D0x8086 device=3D0x293a subvendor=3D0x1028 =
subdevice=3D0x0214 class=3D0x0c0320
dev.ehci.1.%parent: pci0
dev.bge.0.%desc: Broadcom NetLink Gigabit Ethernet Controller, ASIC rev. =
0xb002
dev.bge.0.%driver: bge
dev.bge.0.%location: slot=3D0 function=3D0
dev.bge.0.%pnpinfo: vendor=3D0x14e4 device=3D0x167a subvendor=3D0x1028 =
subdevice=3D0x0214 class=3D0x020000
dev.bge.0.%parent: pci4
dev.miibus.0.%desc: MII bus
dev.miibus.0.%driver: miibus
dev.miibus.0.%parent: bge0
dev.miibus.1.%desc: MII bus
dev.miibus.1.%driver: miibus
dev.miibus.1.%parent: re0
dev.brgphy.0.%desc: BCM5787 10/100/1000baseTX PHY
dev.brgphy.0.%driver: brgphy
dev.brgphy.0.%location: phyno=3D1
dev.brgphy.0.%pnpinfo: oui=3D0x50ef model=3D0xe rev=3D0x0
dev.brgphy.0.%parent: miibus0
dev.re.0.%desc: RealTek 8169/8169S/8169SB(L)/8110S/8110SB(L) Gigabit =
Ethernet
dev.re.0.%driver: re
dev.re.0.%location: slot=3D5 function=3D0
dev.re.0.%pnpinfo: vendor=3D0x10ec device=3D0x8169 subvendor=3D0x1385 =
subdevice=3D0x311a class=3D0x020000
dev.re.0.%parent: pci5
dev.rgephy.0.%desc: RTL8169S/8110S/8211B media interface
dev.rgephy.0.%driver: rgephy
dev.rgephy.0.%location: phyno=3D1
dev.rgephy.0.%pnpinfo: oui=3D0x732 model=3D0x11 rev=3D0x0
dev.rgephy.0.%parent: miibus1
dev.isab.0.%desc: PCI-ISA bridge
dev.isab.0.%driver: isab
dev.isab.0.%location: slot=3D31 function=3D0 handle=3D\_SB_.PCI0.ISA_
dev.isab.0.%pnpinfo: vendor=3D0x8086 device=3D0x2916 subvendor=3D0x0000 =
subdevice=3D0x0000 class=3D0x060100
dev.isab.0.%parent: pci0
dev.isa.0.%desc: ISA bus
dev.isa.0.%driver: isa
dev.isa.0.%parent: isab0
dev.atapci.0.%desc: Intel AHCI controller
dev.atapci.0.%driver: atapci
dev.atapci.0.%location: slot=3D31 function=3D2
dev.atapci.0.%pnpinfo: vendor=3D0x8086 device=3D0x2922 =
subvendor=3D0x1028 subdevice=3D0x0214 class=3D0x010601
dev.atapci.0.%parent: pci0
dev.ata.2.%desc: ATA channel 0
dev.ata.2.%driver: ata
dev.ata.2.%parent: atapci0
dev.ata.3.%desc: ATA channel 1
dev.ata.3.%driver: ata
dev.ata.3.%parent: atapci0
dev.ata.4.%desc: ATA channel 2
dev.ata.4.%driver: ata
dev.ata.4.%parent: atapci0
dev.ata.5.%desc: ATA channel 3
dev.ata.5.%driver: ata
dev.ata.5.%parent: atapci0
dev.ata.6.%desc: ATA channel 4
dev.ata.6.%driver: ata
dev.ata.6.%parent: atapci0
dev.ata.7.%desc: ATA channel 5
dev.ata.7.%driver: ata
dev.ata.7.%parent: atapci0
dev.atdma.0.%desc: AT DMA controller
dev.atdma.0.%driver: atdma
dev.atdma.0.%location: handle=3D\_SB_.PCI0.ISA_.DMA_
dev.atdma.0.%pnpinfo: _HID=3DPNP0200 _UID=3D0
dev.atdma.0.%parent: acpi0
dev.fpupnp.0.%desc: Legacy ISA coprocessor support
dev.fpupnp.0.%driver: fpupnp
dev.fpupnp.0.%location: handle=3D\_SB_.PCI0.ISA_.FPU_
dev.fpupnp.0.%pnpinfo: _HID=3DPNP0C04 _UID=3D0
dev.fpupnp.0.%parent: acpi0
dev.attimer.0.%desc: AT realtime clock
dev.attimer.0.%driver: attimer
dev.attimer.0.%location: handle=3D\_SB_.PCI0.ISA_.RTC_
dev.attimer.0.%pnpinfo: _HID=3DPNP0B00 _UID=3D0
dev.attimer.0.%parent: acpi0
dev.attimer.1.%desc: AT timer
dev.attimer.1.%driver: attimer
dev.attimer.1.%location: handle=3D\_SB_.PCI0.ISA_.TMR_
dev.attimer.1.%pnpinfo: _HID=3DPNP0100 _UID=3D0
dev.attimer.1.%parent: acpi0
dev.atkbdc.0.%desc: Keyboard controller (i8042)
dev.atkbdc.0.%driver: atkbdc
dev.atkbdc.0.%location: handle=3D\_SB_.PCI0.ISA_.KBD_
dev.atkbdc.0.%pnpinfo: _HID=3DPNP0303 _UID=3D0
dev.atkbdc.0.%parent: acpi0
dev.atkbdc.0.wake: 0
dev.atkbd.0.%desc: AT Keyboard
dev.atkbd.0.%driver: atkbd
dev.atkbd.0.%parent: atkbdc0
dev.psmcpnp.0.%desc: PS/2 mouse port
dev.psmcpnp.0.%driver: psmcpnp
dev.psmcpnp.0.%location: handle=3D\_SB_.PCI0.ISA_.MOU_
dev.psmcpnp.0.%pnpinfo: _HID=3DPNP0F13 _UID=3D0
dev.psmcpnp.0.%parent: acpi0
dev.psm.0.%desc: PS/2 Mouse
dev.psm.0.%driver: psm
dev.psm.0.%parent: atkbdc0
dev.ppc.0.%desc: Parallel port
dev.ppc.0.%driver: ppc
dev.ppc.0.%location: handle=3D\_SB_.PCI0.ISA_.PRT_
dev.ppc.0.%pnpinfo: _HID=3DPNP0401 _UID=3D0
dev.ppc.0.%parent: acpi0
dev.ppbus.0.%desc: Parallel port bus
dev.ppbus.0.%driver: ppbus
dev.ppbus.0.%parent: ppc0
dev.plip.0.%desc: PLIP network interface
dev.plip.0.%driver: plip
dev.plip.0.%parent: ppbus0
dev.lpt.0.%desc: Printer
dev.lpt.0.%driver: lpt
dev.lpt.0.%parent: ppbus0
dev.ppi.0.%desc: Parallel I/O
dev.ppi.0.%driver: ppi
dev.ppi.0.%parent: ppbus0
dev.sio.0.%desc: 16550A-compatible COM port
dev.sio.0.%driver: sio
dev.sio.0.%location: handle=3D\_SB_.PCI0.ISA_.COMA
dev.sio.0.%pnpinfo: _HID=3DPNP0501 _UID=3D1
dev.sio.0.%parent: acpi0
dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=3D\_PR_.CPU0
dev.cpu.0.%pnpinfo: _HID=3Dnone _UID=3D0
dev.cpu.0.%parent: acpi0
dev.cpu.0.freq: 2382
dev.cpu.0.freq_levels: 2382/-1 2084/-1 1786/-1 1488/-1 1191/-1 893/-1 =
595/-1 297/-1
dev.cpu.0.cx_supported: C1/0
dev.cpu.0.cx_lowest: C1
dev.cpu.0.cx_usage: 100.00%
dev.cpu.1.%desc: ACPI CPU
dev.cpu.1.%driver: cpu
dev.cpu.1.%location: handle=3D\_PR_.CPU1
dev.cpu.1.%pnpinfo: _HID=3Dnone _UID=3D0
dev.cpu.1.%parent: acpi0
dev.cpu.1.cx_supported: C1/0
dev.cpu.1.cx_lowest: C1
dev.cpu.1.cx_usage: 100.00%
dev.p4tcc.0.%desc: CPU Frequency Thermal Control
dev.p4tcc.0.%driver: p4tcc
dev.p4tcc.0.%parent: cpu0
dev.p4tcc.0.freq_settings: 10000/-1 8750/-1 7500/-1 6250/-1 5000/-1 =
3750/-1 2500/-1 1250/-1
dev.p4tcc.1.%desc: CPU Frequency Thermal Control
dev.p4tcc.1.%driver: p4tcc
dev.p4tcc.1.%parent: cpu1
dev.p4tcc.1.freq_settings: 10000/-1 8750/-1 7500/-1 6250/-1 5000/-1 =
3750/-1 2500/-1 1250/-1
dev.cpufreq.0.%driver: cpufreq
dev.cpufreq.0.%parent: cpu0
dev.cpufreq.1.%driver: cpufreq
dev.cpufreq.1.%parent: cpu1
dev.apic.0.%desc: APIC resources
dev.apic.0.%driver: apic
dev.apic.0.%parent: nexus0
dev.orm.0.%desc: ISA Option ROMs
dev.orm.0.%driver: orm
dev.orm.0.%parent: isa0
dev.sc.0.%desc: System console
dev.sc.0.%driver: sc
dev.sc.0.%parent: isa0
dev.vga.0.%desc: Generic ISA VGA
dev.vga.0.%driver: vga
dev.vga.0.%parent: isa0
dev.ad.4.%desc: ST380815AS/4.ADA
dev.ad.4.%driver: ad
dev.ad.4.%parent: ata2
dev.subdisk.4.%driver: subdisk
dev.subdisk.4.%parent: ad4
dev.acd.0.%desc: TSSTcorpDVD-ROM TS-H353B/D500
dev.acd.0.%driver: acd
dev.acd.0.%parent: ata3
hptmv.status: RocketRAID 182x SATA Controller driver Version v1.12


--Boundary_(ID_q+q/9SmDfq3iWLIJEHBW2w)
Content-type: application/octet-stream; name=Linux_sysctl
Content-transfer-encoding: quoted-printable
Content-disposition: attachment; filename=Linux_sysctl

kernel.sched_rt_period_us =3D 1000000=0A=
kernel.sched_rt_runtime_us =3D 950000=0A=
kernel.sched_compat_yield =3D 0=0A=
kernel.panic =3D 0=0A=
kernel.core_uses_pid =3D 1=0A=
kernel.core_pattern =3D core=0A=
kernel.tainted =3D 0=0A=
kernel.real-root-dev =3D 0=0A=
kernel.print-fatal-signals =3D 0=0A=
kernel.ctrl-alt-del =3D 0=0A=
kernel.ftrace_dump_on_oops =3D 0=0A=
kernel.modprobe =3D /sbin/modprobe=0A=
kernel.modules_disabled =3D 0=0A=
kernel.hotplug =3D =0A=
kernel.sg-big-buff =3D 32768=0A=
kernel.acct =3D 4	2	30=0A=
kernel.cad_pid =3D 1=0A=
kernel.threads-max =3D 32736=0A=
kernel.random.poolsize =3D 4096=0A=
kernel.random.entropy_avail =3D 1189=0A=
kernel.random.read_wakeup_threshold =3D 64=0A=
kernel.random.write_wakeup_threshold =3D 128=0A=
kernel.random.boot_id =3D 75ead7cc-2661-4e0c-af74-79f9a92f1e57=0A=
kernel.random.uuid =3D 1b93c51e-5c07-49d0-a050-05c5770f9883=0A=
kernel.overflowuid =3D 65534=0A=
kernel.overflowgid =3D 65534=0A=
kernel.pid_max =3D 32768=0A=
kernel.panic_on_oops =3D 0=0A=
kernel.printk =3D 7	4	1	7=0A=
kernel.printk_ratelimit =3D 5=0A=
kernel.printk_ratelimit_burst =3D 10=0A=
kernel.ngroups_max =3D 65536=0A=
kernel.unknown_nmi_panic =3D 0=0A=
kernel.nmi_watchdog =3D 0=0A=
kernel.panic_on_unrecovered_nmi =3D 0=0A=
kernel.panic_on_io_nmi =3D 0=0A=
kernel.bootloader_type =3D 113=0A=
kernel.bootloader_version =3D 1=0A=
kernel.kstack_depth_to_print =3D 12=0A=
kernel.io_delay_type =3D 0=0A=
kernel.randomize_va_space =3D 2=0A=
kernel.acpi_video_flags =3D 0=0A=
kernel.compat-log =3D 1=0A=
kernel.max_lock_depth =3D 1024=0A=
kernel.poweroff_cmd =3D /sbin/poweroff=0A=
kernel.keys.maxkeys =3D 200=0A=
kernel.keys.maxbytes =3D 20000=0A=
kernel.keys.root_maxkeys =3D 200=0A=
kernel.keys.root_maxbytes =3D 20000=0A=
kernel.slow-work.min-threads =3D 2=0A=
kernel.slow-work.max-threads =3D 8=0A=
kernel.slow-work.vslow-percentage =3D 50=0A=
kernel.perf_counter_paranoid =3D 1=0A=
kernel.perf_counter_mlock_kb =3D 512=0A=
kernel.perf_counter_max_sample_rate =3D 100000=0A=
kernel.vsyscall64 =3D 1=0A=
kernel.ostype =3D Linux=0A=
kernel.osrelease =3D 2.6.31.1=0A=
kernel.version =3D #2 SMP Fri Oct 9 04:57:07 PDT 2009=0A=
kernel.hostname =3D localhost.localdomain=0A=
kernel.domainname =3D (none)=0A=
kernel.shmmax =3D 33554432=0A=
kernel.shmall =3D 2097152=0A=
kernel.shmmni =3D 4096=0A=
kernel.msgmax =3D 8192=0A=
kernel.msgmni =3D 4015=0A=
kernel.msgmnb =3D 16384=0A=
kernel.sem =3D 250	32000	32	128=0A=
kernel.auto_msgmni =3D 1=0A=
kernel.pty.max =3D 4096=0A=
kernel.pty.nr =3D 1=0A=
vm.overcommit_memory =3D 0=0A=
vm.panic_on_oom =3D 0=0A=
vm.oom_kill_allocating_task =3D 0=0A=
vm.oom_dump_tasks =3D 0=0A=
vm.overcommit_ratio =3D 50=0A=
vm.page-cluster =3D 3=0A=
vm.dirty_background_ratio =3D 10=0A=
vm.dirty_background_bytes =3D 0=0A=
vm.dirty_ratio =3D 20=0A=
vm.dirty_bytes =3D 0=0A=
vm.dirty_writeback_centisecs =3D 500=0A=
vm.dirty_expire_centisecs =3D 3000=0A=
vm.nr_pdflush_threads =3D 2=0A=
vm.swappiness =3D 60=0A=
vm.nr_hugepages =3D 0=0A=
vm.hugetlb_shm_group =3D 0=0A=
vm.hugepages_treat_as_movable =3D 0=0A=
vm.nr_overcommit_hugepages =3D 0=0A=
vm.lowmem_reserve_ratio =3D 256	256	32=0A=
vm.drop_caches =3D 0=0A=
vm.min_free_kbytes =3D 5748=0A=
vm.percpu_pagelist_fraction =3D 0=0A=
vm.max_map_count =3D 65530=0A=
vm.laptop_mode =3D 0=0A=
vm.block_dump =3D 0=0A=
vm.vfs_cache_pressure =3D 100=0A=
vm.legacy_va_layout =3D 0=0A=
vm.zone_reclaim_mode =3D 0=0A=
vm.min_unmapped_ratio =3D 1=0A=
vm.min_slab_ratio =3D 5=0A=
vm.stat_interval =3D 1=0A=
vm.mmap_min_addr =3D 4096=0A=
vm.numa_zonelist_order =3D default=0A=
vm.scan_unevictable_pages =3D 0=0A=
fs.inode-nr =3D 5854	268=0A=
fs.inode-state =3D 5854	268	0	0	0	0	0=0A=
fs.file-nr =3D 64	0	203013=0A=
fs.file-max =3D 203013=0A=
fs.nr_open =3D 1048576=0A=
fs.dentry-state =3D 5869	2519	45	0	0	0=0A=
fs.overflowuid =3D 65534=0A=
fs.overflowgid =3D 65534=0A=
fs.leases-enable =3D 1=0A=
fs.dir-notify-enable =3D 1=0A=
fs.lease-break-time =3D 45=0A=
fs.aio-nr =3D 0=0A=
fs.aio-max-nr =3D 65536=0A=
fs.inotify.max_user_instances =3D 128=0A=
fs.inotify.max_user_watches =3D 8192=0A=
fs.inotify.max_queued_events =3D 16384=0A=
fs.epoll.max_user_watches =3D 420270=0A=
fs.suid_dumpable =3D 0=0A=
fs.binfmt_misc.status =3D enabled=0A=
fs.quota.lookups =3D 0=0A=
fs.quota.drops =3D 0=0A=
fs.quota.reads =3D 0=0A=
fs.quota.writes =3D 0=0A=
fs.quota.cache_hits =3D 0=0A=
fs.quota.allocated_dquots =3D 0=0A=
fs.quota.free_dquots =3D 0=0A=
fs.quota.syncs =3D 24=0A=
fs.mqueue.queues_max =3D 256=0A=
fs.mqueue.msg_max =3D 10=0A=
fs.mqueue.msgsize_max =3D 8192=0A=
debug.exception-trace =3D 1=0A=
dev.scsi.logging_level =3D 0=0A=
dev.raid.speed_limit_min =3D 1000=0A=
dev.raid.speed_limit_max =3D 200000=0A=
dev.hpet.max-user-freq =3D 64=0A=
dev.mac_hid.mouse_button_emulation =3D 0=0A=
dev.mac_hid.mouse_button2_keycode =3D 97=0A=
dev.mac_hid.mouse_button3_keycode =3D 100=0A=
dev.cdrom.info =3D CD-ROM information, Id: cdrom.c 3.20 2003/12/17=0A=
dev.cdrom.info =3D =0A=
dev.cdrom.info =3D drive name:		sr0=0A=
dev.cdrom.info =3D drive speed:		48=0A=
dev.cdrom.info =3D drive # of slots:	1=0A=
dev.cdrom.info =3D Can close tray:		1=0A=
dev.cdrom.info =3D Can open tray:		1=0A=
dev.cdrom.info =3D Can lock tray:		1=0A=
dev.cdrom.info =3D Can change speed:	1=0A=
dev.cdrom.info =3D Can select disk:	0=0A=
dev.cdrom.info =3D Can read multisession:	1=0A=
dev.cdrom.info =3D Can read MCN:		1=0A=
dev.cdrom.info =3D Reports media changed:	1=0A=
dev.cdrom.info =3D Can play audio:		1=0A=
dev.cdrom.info =3D Can write CD-R:		0=0A=
dev.cdrom.info =3D Can write CD-RW:	0=0A=
dev.cdrom.info =3D Can read DVD:		1=0A=
dev.cdrom.info =3D Can write DVD-R:	0=0A=
dev.cdrom.info =3D Can write DVD-RAM:	0=0A=
dev.cdrom.info =3D Can read MRW:		1=0A=
dev.cdrom.info =3D Can write MRW:		1=0A=
dev.cdrom.info =3D Can write RAM:		1=0A=
dev.cdrom.info =3D =0A=
dev.cdrom.info =3D =0A=
dev.cdrom.autoclose =3D 1=0A=
dev.cdrom.autoeject =3D 0=0A=
dev.cdrom.debug =3D 0=0A=
dev.cdrom.lock =3D 1=0A=
dev.cdrom.check_media =3D 0=0A=
dev.parport.default.timeslice =3D 200=0A=
dev.parport.default.spintime =3D 500=0A=
dev.parport.parport0.spintime =3D 500=0A=
dev.parport.parport0.base-addr =3D 888	1912=0A=
dev.parport.parport0.irq =3D 7=0A=
dev.parport.parport0.dma =3D -1=0A=
dev.parport.parport0.modes =3D PCSPP,TRISTATE=0A=
dev.parport.parport0.devices.active =3D none=0A=
net.netfilter.nf_log.0 =3D NONE=0A=
net.netfilter.nf_log.1 =3D NONE=0A=
net.netfilter.nf_log.2 =3D NONE=0A=
net.netfilter.nf_log.3 =3D NONE=0A=
net.netfilter.nf_log.4 =3D NONE=0A=
net.netfilter.nf_log.5 =3D NONE=0A=
net.netfilter.nf_log.6 =3D NONE=0A=
net.netfilter.nf_log.7 =3D NONE=0A=
net.netfilter.nf_log.8 =3D NONE=0A=
net.netfilter.nf_log.9 =3D NONE=0A=
net.netfilter.nf_log.10 =3D NONE=0A=
net.netfilter.nf_log.11 =3D NONE=0A=
net.netfilter.nf_log.12 =3D NONE=0A=
net.netfilter.nf_conntrack_generic_timeout =3D 600=0A=
net.netfilter.nf_conntrack_tcp_timeout_syn_sent =3D 120=0A=
net.netfilter.nf_conntrack_tcp_timeout_syn_recv =3D 60=0A=
net.netfilter.nf_conntrack_tcp_timeout_established =3D 432000=0A=
net.netfilter.nf_conntrack_tcp_timeout_fin_wait =3D 120=0A=
net.netfilter.nf_conntrack_tcp_timeout_close_wait =3D 60=0A=
net.netfilter.nf_conntrack_tcp_timeout_last_ack =3D 30=0A=
net.netfilter.nf_conntrack_tcp_timeout_time_wait =3D 120=0A=
net.netfilter.nf_conntrack_tcp_timeout_close =3D 10=0A=
net.netfilter.nf_conntrack_tcp_timeout_max_retrans =3D 300=0A=
net.netfilter.nf_conntrack_tcp_timeout_unacknowledged =3D 300=0A=
net.netfilter.nf_conntrack_tcp_loose =3D 1=0A=
net.netfilter.nf_conntrack_tcp_be_liberal =3D 0=0A=
net.netfilter.nf_conntrack_tcp_max_retrans =3D 3=0A=
net.netfilter.nf_conntrack_udp_timeout =3D 30=0A=
net.netfilter.nf_conntrack_udp_timeout_stream =3D 180=0A=
net.netfilter.nf_conntrack_icmp_timeout =3D 30=0A=
net.netfilter.nf_conntrack_acct =3D 1=0A=
net.netfilter.nf_conntrack_events =3D 1=0A=
net.netfilter.nf_conntrack_events_retry_timeout =3D 15=0A=
net.netfilter.nf_conntrack_max =3D 65536=0A=
net.netfilter.nf_conntrack_count =3D 0=0A=
net.netfilter.nf_conntrack_buckets =3D 16384=0A=
net.netfilter.nf_conntrack_checksum =3D 1=0A=
net.netfilter.nf_conntrack_log_invalid =3D 0=0A=
net.netfilter.nf_conntrack_expect_max =3D 256=0A=
net.core.somaxconn =3D 128=0A=
net.core.xfrm_aevent_etime =3D 10=0A=
net.core.xfrm_aevent_rseqth =3D 2=0A=
net.core.xfrm_larval_drop =3D 1=0A=
net.core.xfrm_acq_expires =3D 30=0A=
net.core.wmem_max =3D 131071=0A=
net.core.rmem_max =3D 131071=0A=
net.core.wmem_default =3D 129024=0A=
net.core.rmem_default =3D 129024=0A=
net.core.dev_weight =3D 64=0A=
net.core.netdev_max_backlog =3D 1000=0A=
net.core.message_cost =3D 5=0A=
net.core.message_burst =3D 10=0A=
net.core.optmem_max =3D 20480=0A=
net.core.netdev_budget =3D 300=0A=
net.core.warnings =3D 1=0A=
net.ipv4.route.gc_thresh =3D 65536=0A=
net.ipv4.route.max_size =3D 1048576=0A=
net.ipv4.route.gc_min_interval =3D 0=0A=
net.ipv4.route.gc_min_interval_ms =3D 500=0A=
net.ipv4.route.gc_timeout =3D 300=0A=
net.ipv4.route.gc_interval =3D 60=0A=
net.ipv4.route.redirect_load =3D 20=0A=
net.ipv4.route.redirect_number =3D 9=0A=
net.ipv4.route.redirect_silence =3D 20480=0A=
net.ipv4.route.error_cost =3D 1000=0A=
net.ipv4.route.error_burst =3D 5000=0A=
net.ipv4.route.gc_elasticity =3D 8=0A=
net.ipv4.route.mtu_expires =3D 600=0A=
net.ipv4.route.min_pmtu =3D 552=0A=
net.ipv4.route.min_adv_mss =3D 256=0A=
net.ipv4.route.secret_interval =3D 600=0A=
net.ipv4.neigh.default.mcast_solicit =3D 3=0A=
net.ipv4.neigh.default.ucast_solicit =3D 3=0A=
net.ipv4.neigh.default.app_solicit =3D 0=0A=
net.ipv4.neigh.default.retrans_time =3D 99=0A=
net.ipv4.neigh.default.base_reachable_time =3D 30=0A=
net.ipv4.neigh.default.delay_first_probe_time =3D 5=0A=
net.ipv4.neigh.default.gc_stale_time =3D 60=0A=
net.ipv4.neigh.default.unres_qlen =3D 3=0A=
net.ipv4.neigh.default.proxy_qlen =3D 64=0A=
net.ipv4.neigh.default.anycast_delay =3D 99=0A=
net.ipv4.neigh.default.proxy_delay =3D 79=0A=
net.ipv4.neigh.default.locktime =3D 99=0A=
net.ipv4.neigh.default.retrans_time_ms =3D 1000=0A=
net.ipv4.neigh.default.base_reachable_time_ms =3D 30000=0A=
net.ipv4.neigh.default.gc_interval =3D 30=0A=
net.ipv4.neigh.default.gc_thresh1 =3D 128=0A=
net.ipv4.neigh.default.gc_thresh2 =3D 512=0A=
net.ipv4.neigh.default.gc_thresh3 =3D 1024=0A=
net.ipv4.neigh.lo.mcast_solicit =3D 3=0A=
net.ipv4.neigh.lo.ucast_solicit =3D 3=0A=
net.ipv4.neigh.lo.app_solicit =3D 0=0A=
net.ipv4.neigh.lo.retrans_time =3D 99=0A=
net.ipv4.neigh.lo.base_reachable_time =3D 30=0A=
net.ipv4.neigh.lo.delay_first_probe_time =3D 5=0A=
net.ipv4.neigh.lo.gc_stale_time =3D 60=0A=
net.ipv4.neigh.lo.unres_qlen =3D 3=0A=
net.ipv4.neigh.lo.proxy_qlen =3D 64=0A=
net.ipv4.neigh.lo.anycast_delay =3D 99=0A=
net.ipv4.neigh.lo.proxy_delay =3D 79=0A=
net.ipv4.neigh.lo.locktime =3D 99=0A=
net.ipv4.neigh.lo.retrans_time_ms =3D 1000=0A=
net.ipv4.neigh.lo.base_reachable_time_ms =3D 30000=0A=
net.ipv4.neigh.eth1.mcast_solicit =3D 3=0A=
net.ipv4.neigh.eth1.ucast_solicit =3D 3=0A=
net.ipv4.neigh.eth1.app_solicit =3D 0=0A=
net.ipv4.neigh.eth1.retrans_time =3D 99=0A=
net.ipv4.neigh.eth1.base_reachable_time =3D 30=0A=
net.ipv4.neigh.eth1.delay_first_probe_time =3D 5=0A=
net.ipv4.neigh.eth1.gc_stale_time =3D 60=0A=
net.ipv4.neigh.eth1.unres_qlen =3D 3=0A=
net.ipv4.neigh.eth1.proxy_qlen =3D 64=0A=
net.ipv4.neigh.eth1.anycast_delay =3D 99=0A=
net.ipv4.neigh.eth1.proxy_delay =3D 79=0A=
net.ipv4.neigh.eth1.locktime =3D 99=0A=
net.ipv4.neigh.eth1.retrans_time_ms =3D 1000=0A=
net.ipv4.neigh.eth1.base_reachable_time_ms =3D 30000=0A=
net.ipv4.neigh.eth0_rename.mcast_solicit =3D 3=0A=
net.ipv4.neigh.eth0_rename.ucast_solicit =3D 3=0A=
net.ipv4.neigh.eth0_rename.app_solicit =3D 0=0A=
net.ipv4.neigh.eth0_rename.retrans_time =3D 99=0A=
net.ipv4.neigh.eth0_rename.base_reachable_time =3D 30=0A=
net.ipv4.neigh.eth0_rename.delay_first_probe_time =3D 5=0A=
net.ipv4.neigh.eth0_rename.gc_stale_time =3D 60=0A=
net.ipv4.neigh.eth0_rename.unres_qlen =3D 3=0A=
net.ipv4.neigh.eth0_rename.proxy_qlen =3D 64=0A=
net.ipv4.neigh.eth0_rename.anycast_delay =3D 99=0A=
net.ipv4.neigh.eth0_rename.proxy_delay =3D 79=0A=
net.ipv4.neigh.eth0_rename.locktime =3D 99=0A=
net.ipv4.neigh.eth0_rename.retrans_time_ms =3D 1000=0A=
net.ipv4.neigh.eth0_rename.base_reachable_time_ms =3D 30000=0A=
net.ipv4.neigh.eth3_rename.mcast_solicit =3D 3=0A=
net.ipv4.neigh.eth3_rename.ucast_solicit =3D 3=0A=
net.ipv4.neigh.eth3_rename.app_solicit =3D 0=0A=
net.ipv4.neigh.eth3_rename.retrans_time =3D 99=0A=
net.ipv4.neigh.eth3_rename.base_reachable_time =3D 30=0A=
net.ipv4.neigh.eth3_rename.delay_first_probe_time =3D 5=0A=
net.ipv4.neigh.eth3_rename.gc_stale_time =3D 60=0A=
net.ipv4.neigh.eth3_rename.unres_qlen =3D 3=0A=
net.ipv4.neigh.eth3_rename.proxy_qlen =3D 64=0A=
net.ipv4.neigh.eth3_rename.anycast_delay =3D 99=0A=
net.ipv4.neigh.eth3_rename.proxy_delay =3D 79=0A=
net.ipv4.neigh.eth3_rename.locktime =3D 99=0A=
net.ipv4.neigh.eth3_rename.retrans_time_ms =3D 1000=0A=
net.ipv4.neigh.eth3_rename.base_reachable_time_ms =3D 30000=0A=
net.ipv4.neigh.eth0.mcast_solicit =3D 3=0A=
net.ipv4.neigh.eth0.ucast_solicit =3D 3=0A=
net.ipv4.neigh.eth0.app_solicit =3D 0=0A=
net.ipv4.neigh.eth0.retrans_time =3D 99=0A=
net.ipv4.neigh.eth0.base_reachable_time =3D 30=0A=
net.ipv4.neigh.eth0.delay_first_probe_time =3D 5=0A=
net.ipv4.neigh.eth0.gc_stale_time =3D 60=0A=
net.ipv4.neigh.eth0.unres_qlen =3D 3=0A=
net.ipv4.neigh.eth0.proxy_qlen =3D 64=0A=
net.ipv4.neigh.eth0.anycast_delay =3D 99=0A=
net.ipv4.neigh.eth0.proxy_delay =3D 79=0A=
net.ipv4.neigh.eth0.locktime =3D 99=0A=
net.ipv4.neigh.eth0.retrans_time_ms =3D 1000=0A=
net.ipv4.neigh.eth0.base_reachable_time_ms =3D 30000=0A=
net.ipv4.tcp_timestamps =3D 1=0A=
net.ipv4.tcp_window_scaling =3D 1=0A=
net.ipv4.tcp_sack =3D 1=0A=
net.ipv4.tcp_retrans_collapse =3D 1=0A=
net.ipv4.ip_default_ttl =3D 64=0A=
net.ipv4.ip_no_pmtu_disc =3D 0=0A=
net.ipv4.ip_nonlocal_bind =3D 0=0A=
net.ipv4.tcp_syn_retries =3D 5=0A=
net.ipv4.tcp_synack_retries =3D 5=0A=
net.ipv4.tcp_max_orphans =3D 65536=0A=
net.ipv4.tcp_max_tw_buckets =3D 180000=0A=
net.ipv4.ip_dynaddr =3D 0=0A=
net.ipv4.tcp_keepalive_time =3D 7200=0A=
net.ipv4.tcp_keepalive_probes =3D 9=0A=
net.ipv4.tcp_keepalive_intvl =3D 75=0A=
net.ipv4.tcp_retries1 =3D 3=0A=
net.ipv4.tcp_retries2 =3D 15=0A=
net.ipv4.tcp_fin_timeout =3D 60=0A=
net.ipv4.tcp_syncookies =3D 0=0A=
net.ipv4.tcp_tw_recycle =3D 0=0A=
net.ipv4.tcp_abort_on_overflow =3D 0=0A=
net.ipv4.tcp_stdurg =3D 0=0A=
net.ipv4.tcp_rfc1337 =3D 0=0A=
net.ipv4.tcp_max_syn_backlog =3D 1024=0A=
net.ipv4.ip_local_port_range =3D 32768	61000=0A=
net.ipv4.igmp_max_memberships =3D 20=0A=
net.ipv4.igmp_max_msf =3D 10=0A=
net.ipv4.inet_peer_threshold =3D 65664=0A=
net.ipv4.inet_peer_minttl =3D 120=0A=
net.ipv4.inet_peer_maxttl =3D 600=0A=
net.ipv4.inet_peer_gc_mintime =3D 10=0A=
net.ipv4.inet_peer_gc_maxtime =3D 120=0A=
net.ipv4.tcp_orphan_retries =3D 0=0A=
net.ipv4.tcp_fack =3D 1=0A=
net.ipv4.tcp_reordering =3D 3=0A=
net.ipv4.tcp_ecn =3D 2=0A=
net.ipv4.tcp_dsack =3D 1=0A=
net.ipv4.tcp_mem =3D 192384	256512	384768=0A=
net.ipv4.tcp_wmem =3D 4096	16384	4194304=0A=
net.ipv4.tcp_rmem =3D 4096	87380	4194304=0A=
net.ipv4.tcp_app_win =3D 31=0A=
net.ipv4.tcp_adv_win_scale =3D 2=0A=
net.ipv4.tcp_tw_reuse =3D 0=0A=
net.ipv4.tcp_frto =3D 2=0A=
net.ipv4.tcp_frto_response =3D 0=0A=
net.ipv4.tcp_low_latency =3D 0=0A=
net.ipv4.tcp_no_metrics_save =3D 0=0A=
net.ipv4.tcp_moderate_rcvbuf =3D 1=0A=
net.ipv4.tcp_tso_win_divisor =3D 3=0A=
net.ipv4.tcp_congestion_control =3D reno=0A=
net.ipv4.tcp_abc =3D 0=0A=
net.ipv4.tcp_mtu_probing =3D 0=0A=
net.ipv4.tcp_base_mss =3D 512=0A=
net.ipv4.tcp_workaround_signed_windows =3D 0=0A=
net.ipv4.tcp_dma_copybreak =3D 4096=0A=
net.ipv4.tcp_slow_start_after_idle =3D 1=0A=
net.ipv4.cipso_cache_enable =3D 1=0A=
net.ipv4.cipso_cache_bucket_size =3D 10=0A=
net.ipv4.cipso_rbm_optfmt =3D 0=0A=
net.ipv4.cipso_rbm_strictvalid =3D 1=0A=
net.ipv4.tcp_available_congestion_control =3D reno=0A=
net.ipv4.tcp_allowed_congestion_control =3D reno=0A=
net.ipv4.tcp_max_ssthresh =3D 0=0A=
net.ipv4.udp_mem =3D 192384	256512	384768=0A=
net.ipv4.udp_rmem_min =3D 4096=0A=
net.ipv4.udp_wmem_min =3D 4096=0A=
net.ipv4.conf.all.forwarding =3D 0=0A=
net.ipv4.conf.all.mc_forwarding =3D 0=0A=
net.ipv4.conf.all.accept_redirects =3D 1=0A=
net.ipv4.conf.all.secure_redirects =3D 1=0A=
net.ipv4.conf.all.shared_media =3D 1=0A=
net.ipv4.conf.all.rp_filter =3D 0=0A=
net.ipv4.conf.all.send_redirects =3D 1=0A=
net.ipv4.conf.all.accept_source_route =3D 0=0A=
net.ipv4.conf.all.proxy_arp =3D 0=0A=
net.ipv4.conf.all.medium_id =3D 0=0A=
net.ipv4.conf.all.bootp_relay =3D 0=0A=
net.ipv4.conf.all.log_martians =3D 0=0A=
net.ipv4.conf.all.tag =3D 0=0A=
net.ipv4.conf.all.arp_filter =3D 0=0A=
net.ipv4.conf.all.arp_announce =3D 0=0A=
net.ipv4.conf.all.arp_ignore =3D 0=0A=
net.ipv4.conf.all.arp_accept =3D 0=0A=
net.ipv4.conf.all.arp_notify =3D 0=0A=
net.ipv4.conf.all.disable_xfrm =3D 0=0A=
net.ipv4.conf.all.disable_policy =3D 0=0A=
net.ipv4.conf.all.force_igmp_version =3D 0=0A=
net.ipv4.conf.all.promote_secondaries =3D 0=0A=
net.ipv4.conf.default.forwarding =3D 0=0A=
net.ipv4.conf.default.mc_forwarding =3D 0=0A=
net.ipv4.conf.default.accept_redirects =3D 1=0A=
net.ipv4.conf.default.secure_redirects =3D 1=0A=
net.ipv4.conf.default.shared_media =3D 1=0A=
net.ipv4.conf.default.rp_filter =3D 1=0A=
net.ipv4.conf.default.send_redirects =3D 1=0A=
net.ipv4.conf.default.accept_source_route =3D 0=0A=
net.ipv4.conf.default.proxy_arp =3D 0=0A=
net.ipv4.conf.default.medium_id =3D 0=0A=
net.ipv4.conf.default.bootp_relay =3D 0=0A=
net.ipv4.conf.default.log_martians =3D 0=0A=
net.ipv4.conf.default.tag =3D 0=0A=
net.ipv4.conf.default.arp_filter =3D 0=0A=
net.ipv4.conf.default.arp_announce =3D 0=0A=
net.ipv4.conf.default.arp_ignore =3D 0=0A=
net.ipv4.conf.default.arp_accept =3D 0=0A=
net.ipv4.conf.default.arp_notify =3D 0=0A=
net.ipv4.conf.default.disable_xfrm =3D 0=0A=
net.ipv4.conf.default.disable_policy =3D 0=0A=
net.ipv4.conf.default.force_igmp_version =3D 0=0A=
net.ipv4.conf.default.promote_secondaries =3D 0=0A=
net.ipv4.conf.lo.forwarding =3D 0=0A=
net.ipv4.conf.lo.mc_forwarding =3D 0=0A=
net.ipv4.conf.lo.accept_redirects =3D 1=0A=
net.ipv4.conf.lo.secure_redirects =3D 1=0A=
net.ipv4.conf.lo.shared_media =3D 1=0A=
net.ipv4.conf.lo.rp_filter =3D 1=0A=
net.ipv4.conf.lo.send_redirects =3D 1=0A=
net.ipv4.conf.lo.accept_source_route =3D 0=0A=
net.ipv4.conf.lo.proxy_arp =3D 0=0A=
net.ipv4.conf.lo.medium_id =3D 0=0A=
net.ipv4.conf.lo.bootp_relay =3D 0=0A=
net.ipv4.conf.lo.log_martians =3D 0=0A=
net.ipv4.conf.lo.tag =3D 0=0A=
net.ipv4.conf.lo.arp_filter =3D 0=0A=
net.ipv4.conf.lo.arp_announce =3D 0=0A=
net.ipv4.conf.lo.arp_ignore =3D 0=0A=
net.ipv4.conf.lo.arp_accept =3D 0=0A=
net.ipv4.conf.lo.arp_notify =3D 0=0A=
net.ipv4.conf.lo.disable_xfrm =3D 1=0A=
net.ipv4.conf.lo.disable_policy =3D 1=0A=
net.ipv4.conf.lo.force_igmp_version =3D 0=0A=
net.ipv4.conf.lo.promote_secondaries =3D 0=0A=
net.ipv4.conf.eth1.forwarding =3D 0=0A=
net.ipv4.conf.eth1.mc_forwarding =3D 0=0A=
net.ipv4.conf.eth1.accept_redirects =3D 1=0A=
net.ipv4.conf.eth1.secure_redirects =3D 1=0A=
net.ipv4.conf.eth1.shared_media =3D 1=0A=
net.ipv4.conf.eth1.rp_filter =3D 1=0A=
net.ipv4.conf.eth1.send_redirects =3D 1=0A=
net.ipv4.conf.eth1.accept_source_route =3D 0=0A=
net.ipv4.conf.eth1.proxy_arp =3D 0=0A=
net.ipv4.conf.eth1.medium_id =3D 0=0A=
net.ipv4.conf.eth1.bootp_relay =3D 0=0A=
net.ipv4.conf.eth1.log_martians =3D 0=0A=
net.ipv4.conf.eth1.tag =3D 0=0A=
net.ipv4.conf.eth1.arp_filter =3D 0=0A=
net.ipv4.conf.eth1.arp_announce =3D 0=0A=
net.ipv4.conf.eth1.arp_ignore =3D 0=0A=
net.ipv4.conf.eth1.arp_accept =3D 0=0A=
net.ipv4.conf.eth1.arp_notify =3D 0=0A=
net.ipv4.conf.eth1.disable_xfrm =3D 0=0A=
net.ipv4.conf.eth1.disable_policy =3D 0=0A=
net.ipv4.conf.eth1.force_igmp_version =3D 0=0A=
net.ipv4.conf.eth1.promote_secondaries =3D 0=0A=
net.ipv4.conf.eth0_rename.forwarding =3D 0=0A=
net.ipv4.conf.eth0_rename.mc_forwarding =3D 0=0A=
net.ipv4.conf.eth0_rename.accept_redirects =3D 1=0A=
net.ipv4.conf.eth0_rename.secure_redirects =3D 1=0A=
net.ipv4.conf.eth0_rename.shared_media =3D 1=0A=
net.ipv4.conf.eth0_rename.rp_filter =3D 1=0A=
net.ipv4.conf.eth0_rename.send_redirects =3D 1=0A=
net.ipv4.conf.eth0_rename.accept_source_route =3D 0=0A=
net.ipv4.conf.eth0_rename.proxy_arp =3D 0=0A=
net.ipv4.conf.eth0_rename.medium_id =3D 0=0A=
net.ipv4.conf.eth0_rename.bootp_relay =3D 0=0A=
net.ipv4.conf.eth0_rename.log_martians =3D 0=0A=
net.ipv4.conf.eth0_rename.tag =3D 0=0A=
net.ipv4.conf.eth0_rename.arp_filter =3D 0=0A=
net.ipv4.conf.eth0_rename.arp_announce =3D 0=0A=
net.ipv4.conf.eth0_rename.arp_ignore =3D 0=0A=
net.ipv4.conf.eth0_rename.arp_accept =3D 0=0A=
net.ipv4.conf.eth0_rename.arp_notify =3D 0=0A=
net.ipv4.conf.eth0_rename.disable_xfrm =3D 0=0A=
net.ipv4.conf.eth0_rename.disable_policy =3D 0=0A=
net.ipv4.conf.eth0_rename.force_igmp_version =3D 0=0A=
net.ipv4.conf.eth0_rename.promote_secondaries =3D 0=0A=
net.ipv4.conf.eth3_rename.forwarding =3D 0=0A=
net.ipv4.conf.eth3_rename.mc_forwarding =3D 0=0A=
net.ipv4.conf.eth3_rename.accept_redirects =3D 1=0A=
net.ipv4.conf.eth3_rename.secure_redirects =3D 1=0A=
net.ipv4.conf.eth3_rename.shared_media =3D 1=0A=
net.ipv4.conf.eth3_rename.rp_filter =3D 1=0A=
net.ipv4.conf.eth3_rename.send_redirects =3D 1=0A=
net.ipv4.conf.eth3_rename.accept_source_route =3D 0=0A=
net.ipv4.conf.eth3_rename.proxy_arp =3D 0=0A=
net.ipv4.conf.eth3_rename.medium_id =3D 0=0A=
net.ipv4.conf.eth3_rename.bootp_relay =3D 0=0A=
net.ipv4.conf.eth3_rename.log_martians =3D 0=0A=
net.ipv4.conf.eth3_rename.tag =3D 0=0A=
net.ipv4.conf.eth3_rename.arp_filter =3D 0=0A=
net.ipv4.conf.eth3_rename.arp_announce =3D 0=0A=
net.ipv4.conf.eth3_rename.arp_ignore =3D 0=0A=
net.ipv4.conf.eth3_rename.arp_accept =3D 0=0A=
net.ipv4.conf.eth3_rename.arp_notify =3D 0=0A=
net.ipv4.conf.eth3_rename.disable_xfrm =3D 0=0A=
net.ipv4.conf.eth3_rename.disable_policy =3D 0=0A=
net.ipv4.conf.eth3_rename.force_igmp_version =3D 0=0A=
net.ipv4.conf.eth3_rename.promote_secondaries =3D 0=0A=
net.ipv4.conf.eth0.forwarding =3D 0=0A=
net.ipv4.conf.eth0.mc_forwarding =3D 0=0A=
net.ipv4.conf.eth0.accept_redirects =3D 1=0A=
net.ipv4.conf.eth0.secure_redirects =3D 1=0A=
net.ipv4.conf.eth0.shared_media =3D 1=0A=
net.ipv4.conf.eth0.rp_filter =3D 1=0A=
net.ipv4.conf.eth0.send_redirects =3D 1=0A=
net.ipv4.conf.eth0.accept_source_route =3D 0=0A=
net.ipv4.conf.eth0.proxy_arp =3D 0=0A=
net.ipv4.conf.eth0.medium_id =3D 0=0A=
net.ipv4.conf.eth0.bootp_relay =3D 0=0A=
net.ipv4.conf.eth0.log_martians =3D 0=0A=
net.ipv4.conf.eth0.tag =3D 0=0A=
net.ipv4.conf.eth0.arp_filter =3D 0=0A=
net.ipv4.conf.eth0.arp_announce =3D 0=0A=
net.ipv4.conf.eth0.arp_ignore =3D 0=0A=
net.ipv4.conf.eth0.arp_accept =3D 0=0A=
net.ipv4.conf.eth0.arp_notify =3D 0=0A=
net.ipv4.conf.eth0.disable_xfrm =3D 0=0A=
net.ipv4.conf.eth0.disable_policy =3D 0=0A=
net.ipv4.conf.eth0.force_igmp_version =3D 0=0A=
net.ipv4.conf.eth0.promote_secondaries =3D 0=0A=
net.ipv4.ip_forward =3D 0=0A=
net.ipv4.ipfrag_high_thresh =3D 262144=0A=
net.ipv4.ipfrag_low_thresh =3D 196608=0A=
net.ipv4.ipfrag_time =3D 30=0A=
net.ipv4.icmp_echo_ignore_all =3D 0=0A=
net.ipv4.icmp_echo_ignore_broadcasts =3D 1=0A=
net.ipv4.icmp_ignore_bogus_error_responses =3D 1=0A=
net.ipv4.icmp_errors_use_inbound_ifaddr =3D 0=0A=
net.ipv4.icmp_ratelimit =3D 1000=0A=
net.ipv4.icmp_ratemask =3D 6168=0A=
net.ipv4.rt_cache_rebuild_count =3D 4=0A=
net.ipv4.ipfrag_secret_interval =3D 600=0A=
net.ipv4.ipfrag_max_dist =3D 64=0A=
net.token-ring.rif_timeout =3D 600000=0A=
net.nf_conntrack_max =3D 65536=0A=
net.unix.max_dgram_qlen =3D 10=0A=
abi.vsyscall32 =3D 1=0A=
crypto.fips_enabled =3D 0=0A=

--Boundary_(ID_q+q/9SmDfq3iWLIJEHBW2w)--

From owner-freebsd-performance@FreeBSD.ORG  Thu Oct 15 09:34:20 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id B2A1C106566C
	for <freebsd-performance@freebsd.org>;
	Thu, 15 Oct 2009 09:34:20 +0000 (UTC)
	(envelope-from ohartman@zedat.fu-berlin.de)
Received: from outpost1.zedat.fu-berlin.de (outpost1.zedat.fu-berlin.de
	[130.133.4.66]) by mx1.freebsd.org (Postfix) with ESMTP id 2B75A8FC14
	for <freebsd-performance@freebsd.org>;
	Thu, 15 Oct 2009 09:34:20 +0000 (UTC)
Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69])
	by outpost1.zedat.fu-berlin.de (Exim 4.69) with esmtp
	(envelope-from <ohartman@zedat.fu-berlin.de>)
	id <1MyMiw-0006g4-T9>; Thu, 15 Oct 2009 11:34:18 +0200
Received: from telesto.geoinf.fu-berlin.de ([130.133.86.198])
	by inpost2.zedat.fu-berlin.de (Exim 4.69) with esmtpsa
	(envelope-from <ohartman@zedat.fu-berlin.de>)
	id <1MyMiw-00053y-QG>; Thu, 15 Oct 2009 11:34:18 +0200
Message-ID: <4AD6ECAB.4050906@zedat.fu-berlin.de>
Date: Thu, 15 Oct 2009 09:34:35 +0000
From: "O. Hartmann" <ohartman@zedat.fu-berlin.de>
Organization: Freie =?ISO-8859-15?Q?Universit=E4t_Berlin?=
User-Agent: Thunderbird 2.0.0.23 (X11/20090824)
MIME-Version: 1.0
To: Hongtao Yin <htyin@huawei.com>
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
In-Reply-To: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
X-Originating-IP: 130.133.86.198
Cc: freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Oct 2009 09:34:20 -0000

Hongtao Yin wrote:
> Hi,
> 
>  
> 
> I compared TCP performance between FreeBSD and Linux by running test tools
> Netperf and Iperf with Intel NIC. 
> 
> The kernels are full version and default values are used in the testing
> except TCP Congestion Control algorithm set to Reno.
> 
>>From the test results we can see Linux TCP performance in throughput is
> better than FreeBSD. The worst case (send msg size 128) shows that FreeBSD
> throughput is only 43% of Linux's.
> 
>  
> 
> I like to get some feedback if anyone did similar comparison test, or knows
> any issues with kernels or drivers. Thanks lot.
> 
>  
> 
> FreeBSD and Linux Sysctl captures are attached for reference.
> 
>  
> 
> Regards,
> 
> Hongtao
> 
>  
> 
>  
> 
>  
> 
> Test Environments:
> 
> PC: Dell Precision T3400 (same 4 PCs)
> 
> CPU: Intel Core 2 Duo CPU E4600@2.4Ghz
> 
> FreeBSD: V7.1 (full version) (TCP CC: newReno)
> 
> Linux: V2.6.31.1 (full version) (TCP CC: Reno)
> 
> Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter (Gigabit)
> chip 82546EB (only one port used for each PC)
> 
> Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108)
> 
> Iperf: V2.0.4
> 
> Netperf: V2.4.4
> 
>  
> 
> Setup:
> 
>  
> 
>  
> 
>                                   ----------
> 
>                                   | switch |
> 
>                                   ----------
> 
>                ---------------------| | | |--------------------
> 
>                |                      | |                     |
> 
>                |              --------| |--------             |
> 
>                |              |                 |             | 
> 
>                |              |                 |             |
> 
>         --------------  --------------  --------------  --------------
> 
>         |     PC1    |  |    PC2     |  |    PC3     |  |    PC4     |
> 
>         |   FreeBSD  |  |   FreeBSD  |  |   Linux    |  |   Linux    |
> 
>         |192.168.1.10|  |192.168.1.20|  |192.168.1.30|  |192.168.1.40|
> 
>         --------------  --------------  --------------  --------------
> 
>  
> 
>  
> 
>  
> 
>  
> 
>  
> 
> ================================
> 
>      Netperf Test Results   
> 
> ================================
> 
>  
> 
> TCP Throughput Test
> 
> -------------------
> 
>  
> 
> PC2/4: #netserver -p 22113
> 
> PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10
> 
>  
> 
>           Recv             Send            Send           Elapsed
> Throughput
> 
>           Socket           Socket          Message        Time
> 10^6 bits/sec
> 
>           Size             Size            Size           Sec.
> 
>           bytes            bytes           bytes
> 
> FreeBSD:  65536            32768           32768          10.34
> 598.11 
> 
> Linux:    87380            16384           16384          10.04
> 779.02 
> 
>  
> 
>  
> 
> PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m
> 64/128/256/512/1024/2048/4096
> 
>  
> 
>           Recv             Send            Send           Elapsed
> Throughput
> 
>           Socket           Socket          Message        Time
> 10^6 bits/sec
> 
>           Size             Size            Size           Sec.
> 
>           bytes            bytes           bytes
> 
> FreeBSD:  65536            32768           64              10.19
> 417.10 
> 
>           65536            32768           128             10.35
> 336.63 
> 
>           65536            32768           256             10.36
> 576.99 
> 
>           65536            32768           512             10.35
> 569.79 
> 
>           65536            32768           1024            10.35
> 553.70 
> 
>           65536            32768           2048            10.35
> 584.20 
> 
>           65536            32768           4096            10.35
> 602.45 
> 
>  
> 
> Linux:    87380            16384           64              10.03
> 778.21 
> 
>           87380            16384           128             10.03
> 779.72 
> 
>           87380            16384           256             10.04
> 780.16 
> 
>           87380            16384           512             10.03
> 776.85 
> 
>           87380            16384           1024            10.04
> 777.52 
> 
>           87380            16384           2048            10.04
> 777.83 
> 
>           87380            16384           4096            10.03
> 780.17 
> 
>  
> 
>  
> 
>  
> 
>  
> 
> ===============================
> 
>       Iperf Test Results
> 
> ===============================
> 
>  
> 
> Bandwidth Test
> 
> --------------
> 
>  
> 
> PC2/4: #iperf -s
> 
> PC1/3: #iperf -c 192.168.1.20
> 
>  
> 
>            Interval        Transfer        Bandwidth
> 
>            sec             MBytes          Mbits/sec
> 
> FreeBSD:   0.0-10.3        740             600
> 
> Linux:     0.0-10.0        972             815
> 
>  
> 
>  
> 
> PC1/3: #iperf -c 192.168.1.20 -d
> 
>  
> 
>            Interval        Transfer        Bandwidth
> 
>            sec             MBytes          Mbits/sec
> 
> FreeBSD:   0.0-10.0        402             337
> 
>            0.0-10.0        404             338
> 
>  
> 
> Linux:     0.0-10.0        926             776
> 
>            0.0-10.0        44.1            36.9
> 
>  
> 
>  
> 
> Parallel Test
> 
> -------------
> 
>  
> 
> PC2/4: #iperf -s
> 
> PC1/3: #iperf -c 192.168.1.20 -P 2
> 
>  
> 
>            Interval        Transfer        Bandwidth
> 
>            sec             MBytes          Mbits/sec
> 
> FreeBSD:   0.0-10.3        370             300
> 
>            0.0-10.3        370             300
> 
>       SUM: 0.0-10.3        739             600
> 
>  
> 
> Linux:     0.0-10.0        479             402
> 
>            0.0-10.0        473             396
> 
>       SUM: 0.0-10.0        952             797
> 
>  
> 
>  
> 
>  
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> freebsd-performance@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-performance
> To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd.org"


FreeBSD 7.1 is quite old compared to Linux 2.6.31 - I'd like to see at 
least FreeBSD 7.2 compared, if not 8.0-RC1. Maybe also the most recent 
FreeBSD 4 should be taken into this test.


From owner-freebsd-performance@FreeBSD.ORG  Thu Oct 15 12:12:52 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id E9BCA106568B
	for <freebsd-performance@freebsd.org>;
	Thu, 15 Oct 2009 12:12:52 +0000 (UTC)
	(envelope-from leccine@gmail.com)
Received: from mail-fx0-f222.google.com (mail-fx0-f222.google.com
	[209.85.220.222])
	by mx1.freebsd.org (Postfix) with ESMTP id 4C28E8FC16
	for <freebsd-performance@freebsd.org>;
	Thu, 15 Oct 2009 12:12:51 +0000 (UTC)
Received: by fxm22 with SMTP id 22so997689fxm.36
	for <freebsd-performance@freebsd.org>;
	Thu, 15 Oct 2009 05:12:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=domainkey-signature:mime-version:received:in-reply-to:references
	:date:message-id:subject:from:to:cc:content-type;
	bh=OaLRjLDZEAcRhTqZMca9NIO3kn5wAAr4lbrGa2I5Ip0=;
	b=gqb3GkRAUuufXAN2tkjRNSaCpaEjNvsUGvOEc2bEN1QMF7Zv0j3YomomBTkYvJZ8iG
	rM4hFVD6SGcJcOLhJsVniUdv14oh4DPh+n999eQX+BqKURcLLh1YpycVvaP6FLO2WVZM
	nfsxDse70bVjs7q7UUjABIqbT/TvFPDekj3Ko=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	b=oVqkamUlo0o9ZAGk3lctanq4u3sglaGCIFC8U25L/HIBeS5Aw7LjwLByWez5BVXhhj
	SV3GPwUX70r+9Wgt7ZkDSKRW5dVySU4Pik42pJMt3GYl48ducZ9E+OneTRBe45MyDhHX
	c7U9w7vBDxzSGwLUMw/TXMm9aIEBziAtH51Lg=
MIME-Version: 1.0
Received: by 10.204.10.143 with SMTP id p15mr325717bkp.167.1255608770345; Thu, 
	15 Oct 2009 05:12:50 -0700 (PDT)
In-Reply-To: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
Date: Thu, 15 Oct 2009 13:12:50 +0100
Message-ID: <b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
From: =?ISO-8859-1?B?SXN0duFu?= <leccine@gmail.com>
To: Hongtao Yin <htyin@huawei.com>
Content-Type: text/plain; charset=ISO-8859-1
X-Content-Filtered-By: Mailman/MimeDel 2.1.5
Cc: freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Oct 2009 12:12:53 -0000

use netpipe TCP pls.
And graph it.

Thanks in advance,
Istvan

On Thu, Oct 15, 2009 at 2:42 AM, Hongtao Yin <htyin@huawei.com> wrote:

> Hi,
>
>
>
> I compared TCP performance between FreeBSD and Linux by running test tools
> Netperf and Iperf with Intel NIC.
>
> The kernels are full version and default values are used in the testing
> except TCP Congestion Control algorithm set to Reno.
>
> >From the test results we can see Linux TCP performance in throughput is
> better than FreeBSD. The worst case (send msg size 128) shows that FreeBSD
> throughput is only 43% of Linux's.
>
>
>
> I like to get some feedback if anyone did similar comparison test, or knows
> any issues with kernels or drivers. Thanks lot.
>
>
>
> FreeBSD and Linux Sysctl captures are attached for reference.
>
>
>
> Regards,
>
> Hongtao
>
>
>
>
>
>
>
> Test Environments:
>
> PC: Dell Precision T3400 (same 4 PCs)
>
> CPU: Intel Core 2 Duo CPU E4600@2.4Ghz
>
> FreeBSD: V7.1 (full version) (TCP CC: newReno)
>
> Linux: V2.6.31.1 (full version) (TCP CC: Reno)
>
> Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter
> (Gigabit)
> chip 82546EB (only one port used for each PC)
>
> Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108)
>
> Iperf: V2.0.4
>
> Netperf: V2.4.4
>
>
>
> Setup:
>
>
>
>
>
>                                  ----------
>
>                                  | switch |
>
>                                  ----------
>
>               ---------------------| | | |--------------------
>
>               |                      | |                     |
>
>               |              --------| |--------             |
>
>               |              |                 |             |
>
>               |              |                 |             |
>
>        --------------  --------------  --------------  --------------
>
>        |     PC1    |  |    PC2     |  |    PC3     |  |    PC4     |
>
>        |   FreeBSD  |  |   FreeBSD  |  |   Linux    |  |   Linux    |
>
>        |192.168.1.10|  |192.168.1.20|  |192.168.1.30|  |192.168.1.40|
>
>        --------------  --------------  --------------  --------------
>
>
>
>
>
>
>
>
>
>
>
> ================================
>
>     Netperf Test Results
>
> ================================
>
>
>
> TCP Throughput Test
>
> -------------------
>
>
>
> PC2/4: #netserver -p 22113
>
> PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10
>
>
>
>          Recv             Send            Send           Elapsed
> Throughput
>
>          Socket           Socket          Message        Time
> 10^6 bits/sec
>
>          Size             Size            Size           Sec.
>
>          bytes            bytes           bytes
>
> FreeBSD:  65536            32768           32768          10.34
> 598.11
>
> Linux:    87380            16384           16384          10.04
> 779.02
>
>
>
>
>
> PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m
> 64/128/256/512/1024/2048/4096
>
>
>
>          Recv             Send            Send           Elapsed
> Throughput
>
>          Socket           Socket          Message        Time
> 10^6 bits/sec
>
>          Size             Size            Size           Sec.
>
>          bytes            bytes           bytes
>
> FreeBSD:  65536            32768           64              10.19
> 417.10
>
>          65536            32768           128             10.35
> 336.63
>
>          65536            32768           256             10.36
> 576.99
>
>          65536            32768           512             10.35
> 569.79
>
>          65536            32768           1024            10.35
> 553.70
>
>          65536            32768           2048            10.35
> 584.20
>
>          65536            32768           4096            10.35
> 602.45
>
>
>
> Linux:    87380            16384           64              10.03
> 778.21
>
>          87380            16384           128             10.03
> 779.72
>
>          87380            16384           256             10.04
> 780.16
>
>          87380            16384           512             10.03
> 776.85
>
>          87380            16384           1024            10.04
> 777.52
>
>          87380            16384           2048            10.04
> 777.83
>
>          87380            16384           4096            10.03
> 780.17
>
>
>
>
>
>
>
>
>
> ===============================
>
>      Iperf Test Results
>
> ===============================
>
>
>
> Bandwidth Test
>
> --------------
>
>
>
> PC2/4: #iperf -s
>
> PC1/3: #iperf -c 192.168.1.20
>
>
>
>           Interval        Transfer        Bandwidth
>
>           sec             MBytes          Mbits/sec
>
> FreeBSD:   0.0-10.3        740             600
>
> Linux:     0.0-10.0        972             815
>
>
>
>
>
> PC1/3: #iperf -c 192.168.1.20 -d
>
>
>
>           Interval        Transfer        Bandwidth
>
>           sec             MBytes          Mbits/sec
>
> FreeBSD:   0.0-10.0        402             337
>
>           0.0-10.0        404             338
>
>
>
> Linux:     0.0-10.0        926             776
>
>           0.0-10.0        44.1            36.9
>
>
>
>
>
> Parallel Test
>
> -------------
>
>
>
> PC2/4: #iperf -s
>
> PC1/3: #iperf -c 192.168.1.20 -P 2
>
>
>
>           Interval        Transfer        Bandwidth
>
>           sec             MBytes          Mbits/sec
>
> FreeBSD:   0.0-10.3        370             300
>
>           0.0-10.3        370             300
>
>      SUM: 0.0-10.3        739             600
>
>
>
> Linux:     0.0-10.0        479             402
>
>           0.0-10.0        473             396
>
>      SUM: 0.0-10.0        952             797
>
>
>
>
>
>
>
>
> _______________________________________________
> freebsd-performance@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-performance
> To unsubscribe, send any mail to "
> freebsd-performance-unsubscribe@freebsd.org"
>



-- 
the sun shines for all

From owner-freebsd-performance@FreeBSD.ORG  Thu Oct 15 21:21:05 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 64B29106566C
	for <freebsd-performance@freebsd.org>;
	Thu, 15 Oct 2009 21:21:05 +0000 (UTC)
	(envelope-from adrian.chadd@gmail.com)
Received: from mail-pz0-f202.google.com (mail-pz0-f202.google.com
	[209.85.222.202])
	by mx1.freebsd.org (Postfix) with ESMTP id 3952A8FC16
	for <freebsd-performance@freebsd.org>;
	Thu, 15 Oct 2009 21:21:05 +0000 (UTC)
Received: by pzk40 with SMTP id 40so1132235pzk.7
	for <freebsd-performance@freebsd.org>;
	Thu, 15 Oct 2009 14:21:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=domainkey-signature:mime-version:sender:received:in-reply-to
	:references:date:x-google-sender-auth:message-id:subject:from:to:cc
	:content-type; bh=1cf35NK9HZjsrzBjaruoDBas1OG06VVUEKuhz858Hck=;
	b=lRDBSBpQG2etnOdgJFPBO2vBbZz2zq2rtkBlxvJ03lV2xamMGkpzDQ6QMYAXpO60JJ
	WADp8J+v+2TNsam7SV0qO5LK6kyC6crkyLXXAd76xVXe4Z8Zn/rHiMw4WA8qNqBZ8fH1
	sm4ZQEP/vxz0G1+ePGnBb47jYb0l3+MVGVHBI=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	b=l8gxV3iSWLdxG3HP0w7nshpdWD3YkXqDnnEYYO+VeRUuPv+1rzjb3dV8RymyAFDIVD
	40q3ipRb4qwfAcce+POvIC/UNodH12VCbZDt3Pb5Vd0ilO2kpe22LOw6wyzHLNt6RM5m
	cybgCxhHaeL9V8+bZHzrIYse5h1Mft34NqGdE=
MIME-Version: 1.0
Sender: adrian.chadd@gmail.com
Received: by 10.115.24.12 with SMTP id b12mr415873waj.86.1255640101504; Thu, 
	15 Oct 2009 13:55:01 -0700 (PDT)
In-Reply-To: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
Date: Fri, 16 Oct 2009 04:55:01 +0800
X-Google-Sender-Auth: 2530c50c23bd7166
Message-ID: <d763ac660910151355k5fa593eu88d195dde09192be@mail.gmail.com>
From: Adrian Chadd <adrian@freebsd.org>
To: Hongtao Yin <htyin@huawei.com>
Content-Type: text/plain; charset=ISO-8859-1
Cc: freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Oct 2009 21:21:05 -0000

2009/10/15 Hongtao Yin <htyin@huawei.com>:
> Hi,
>
>
>
> I compared TCP performance between FreeBSD and Linux by running test tools
> Netperf and Iperf with Intel NIC.

Did you compare syscalls made and time taken?

For example, do either/both of them do a lot of gettimeofday() calls?
FreeBSD and Linux have (had?) different behaviours and performance
with those.

I'd suggest digging a bit deeper? :)


adrian

From owner-freebsd-performance@FreeBSD.ORG  Fri Oct 16 01:01:04 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id EF73B106566B;
	Fri, 16 Oct 2009 01:01:04 +0000 (UTC)
	(envelope-from sdong@huawei.com)
Received: from usaga02-in.huawei.com (usaga02-in.huawei.com [206.16.17.70])
	by mx1.freebsd.org (Postfix) with ESMTP id CB1A78FC17;
	Fri, 16 Oct 2009 01:01:04 +0000 (UTC)
Received: from huawei.com (localhost [127.0.0.1])
	by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14
	(built Aug
	8 2006)) with ESMTP id <0KRL00HXU0SQIG@usaga02-in.huawei.com>; Thu,
	15 Oct 2009 17:46:03 -0700 (PDT)
Received: from D73888 ([10.193.34.51])
	by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14
	(built Aug
	8 2006)) with ESMTPA id <0KRL00IPJ0SOAR@usaga02-in.huawei.com>; Thu,
	15 Oct 2009 17:46:02 -0700 (PDT)
Date: Thu, 15 Oct 2009 17:45:58 -0700
From: Steve Dong <sdong@huawei.com>
In-reply-to: <d763ac660910151355k5fa593eu88d195dde09192be@mail.gmail.com>
To: 'Adrian Chadd' <adrian@freebsd.org>, 'Hongtao Yin' <htyin@huawei.com>
Message-id: <000d01ca4dfa$081c36f0$3322c10a@china.huawei.com>
MIME-version: 1.0
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.3350
X-Mailer: Microsoft Office Outlook 11
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Thread-index: AcpN3XuVrZQhS1YcQ6OA6EvmBvU7ZQAG2bcg
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
	<d763ac660910151355k5fa593eu88d195dde09192be@mail.gmail.com>
Cc: freebsd-performance@freebsd.org
Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Oct 2009 01:01:05 -0000

 
There are two gettimeofday calls, one at the beginning of the test and the
other at the end. netperf-2.4.4 is used. I believe gettimeofday is a
vsyscall in linux, but a real system call in freebsd.

Thanks,
Steve

 

-----Original Message-----
From: owner-freebsd-performance@freebsd.org
[mailto:owner-freebsd-performance@freebsd.org] On Behalf Of Adrian Chadd
Sent: Thursday, October 15, 2009 1:55 PM
To: Hongtao Yin
Cc: freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance

2009/10/15 Hongtao Yin <htyin@huawei.com>:
> Hi,
>
>
>
> I compared TCP performance between FreeBSD and Linux by running test 
> tools Netperf and Iperf with Intel NIC.

Did you compare syscalls made and time taken?

For example, do either/both of them do a lot of gettimeofday() calls?
FreeBSD and Linux have (had?) different behaviours and performance with
those.

I'd suggest digging a bit deeper? :)


adrian
_______________________________________________
freebsd-performance@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to
"freebsd-performance-unsubscribe@freebsd.org"


From owner-freebsd-performance@FreeBSD.ORG  Fri Oct 16 03:52:10 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 15818106566C
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 03:52:10 +0000 (UTC)
	(envelope-from htyin@huawei.com)
Received: from usaga02-in.huawei.com (usaga02-in.huawei.com [206.16.17.70])
	by mx1.freebsd.org (Postfix) with ESMTP id CFF668FC19
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 03:52:09 +0000 (UTC)
Received: from huawei.com (localhost [127.0.0.1])
	by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14
	(built Aug
	8 2006)) with ESMTP id <0KRL00HXT9EVIG@usaga02-in.huawei.com> for
	freebsd-performance@freebsd.org; Thu, 15 Oct 2009 20:52:08 -0700 (PDT)
Received: from Hongtao1SC ([10.193.34.152])
	by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14
	(built Aug
	8 2006)) with ESMTPA id <0KRL00J6R9EQS8@usaga02-in.huawei.com> for
	freebsd-performance@freebsd.org; Thu, 15 Oct 2009 20:52:07 -0700 (PDT)
Date: Thu, 15 Oct 2009 20:52:02 -0700
From: Hongtao Yin <htyin@huawei.com>
In-reply-to: <b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
To: =?gb2312?B?J0lzdHaoom4n?= <leccine@gmail.com>
Message-id: <4831593800614E6796A45F20BA4B818E@china.huawei.com>
MIME-version: 1.0
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
X-Mailer: Microsoft Office Outlook 11
Content-type: multipart/mixed; boundary="Boundary_(ID_AAjka9hhoFsx6rdqZWl8ZQ)"
Thread-index: AcpNkNPyM/T7sWEVTyKaneG8WESK0wAgHXSA
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
	<b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
X-Content-Filtered-By: Mailman/MimeDel 2.1.5
Cc: freebsd-performance@freebsd.org
Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Oct 2009 03:52:10 -0000

This is a multi-part message in MIME format.

--Boundary_(ID_AAjka9hhoFsx6rdqZWl8ZQ)
Content-type: text/plain; charset=gb2312
Content-transfer-encoding: quoted-printable

Istvan,

=20

I ran newer FreeBSD code 8.0 RC1 this time. By using NetPIPE, we =
collected
test data and the result shows that FreeBSD TCP performance is worse =
than
Linux. I got troubles to plot using gnuplot, so here I am attaching the =
raw
data files.

The netpipe commands are as follows:

PC2: #NPtcp

PC1: #NPtcp =A8Ch 192.168.1.20

=20

Regards,

Hongtao

=20

=20

=20

  _____ =20

From: Istv=A8=A2n [mailto:leccine@gmail.com]=20
Sent: 2009=C4=EA10=D4=C215=C8=D5 5:13
To: Hongtao Yin
Cc: freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance

=20

use netpipe TCP pls.

=20

And graph it.

=20

Thanks in advance,

Istvan

On Thu, Oct 15, 2009 at 2:42 AM, Hongtao Yin <htyin@huawei.com> wrote:

Hi,



I compared TCP performance between FreeBSD and Linux by running test =
tools
Netperf and Iperf with Intel NIC.

The kernels are full version and default values are used in the testing
except TCP Congestion Control algorithm set to Reno.

>From the test results we can see Linux TCP performance in throughput is
better than FreeBSD. The worst case (send msg size 128) shows that =
FreeBSD
throughput is only 43% of Linux's.



I like to get some feedback if anyone did similar comparison test, or =
knows
any issues with kernels or drivers. Thanks lot.



FreeBSD and Linux Sysctl captures are attached for reference.



Regards,

Hongtao







Test Environments:

PC: Dell Precision T3400 (same 4 PCs)

CPU: Intel Core 2 Duo CPU E4600@2.4Ghz

FreeBSD: V7.1 (full version) (TCP CC: newReno)

Linux: V2.6.31.1 (full version) (TCP CC: Reno)

Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter =
(Gigabit)
chip 82546EB (only one port used for each PC)

Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108)

Iperf: V2.0.4

Netperf: V2.4.4



Setup:





                                 ----------

                                 | switch |

                                 ----------

              ---------------------| | | |--------------------

              |                      | |                     |

              |              --------| |--------             |

              |              |                 |             |

              |              |                 |             |

       --------------  --------------  --------------  --------------

       |     PC1    |  |    PC2     |  |    PC3     |  |    PC4     |

       |   FreeBSD  |  |   FreeBSD  |  |   Linux    |  |   Linux    |

       |192.168.1.10|  |192.168.1.20|  |192.168.1.30|  |192.168.1.40|

       --------------  --------------  --------------  --------------











=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D

    Netperf Test Results

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D



TCP Throughput Test

-------------------



PC2/4: #netserver -p 22113

PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10



         Recv             Send            Send           Elapsed
Throughput

         Socket           Socket          Message        Time
10^6 bits/sec

         Size             Size            Size           Sec.

         bytes            bytes           bytes

FreeBSD:  65536            32768           32768          10.34
598.11

Linux:    87380            16384           16384          10.04
779.02





PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m
64/128/256/512/1024/2048/4096



         Recv             Send            Send           Elapsed
Throughput

         Socket           Socket          Message        Time
10^6 bits/sec

         Size             Size            Size           Sec.

         bytes            bytes           bytes

FreeBSD:  65536            32768           64              10.19
417.10

         65536            32768           128             10.35
336.63

         65536            32768           256             10.36
576.99

         65536            32768           512             10.35
569.79

         65536            32768           1024            10.35
553.70

         65536            32768           2048            10.35
584.20

         65536            32768           4096            10.35
602.45



Linux:    87380            16384           64              10.03
778.21

         87380            16384           128             10.03
779.72

         87380            16384           256             10.04
780.16

         87380            16384           512             10.03
776.85

         87380            16384           1024            10.04
777.52

         87380            16384           2048            10.04
777.83

         87380            16384           4096            10.03
780.17









=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D

     Iperf Test Results

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D



Bandwidth Test

--------------



PC2/4: #iperf -s

PC1/3: #iperf -c 192.168.1.20



          Interval        Transfer        Bandwidth

          sec             MBytes          Mbits/sec

FreeBSD:   0.0-10.3        740             600

Linux:     0.0-10.0        972             815





PC1/3: #iperf -c 192.168.1.20 -d



          Interval        Transfer        Bandwidth

          sec             MBytes          Mbits/sec

FreeBSD:   0.0-10.0        402             337

          0.0-10.0        404             338



Linux:     0.0-10.0        926             776

          0.0-10.0        44.1            36.9





Parallel Test

-------------



PC2/4: #iperf -s

PC1/3: #iperf -c 192.168.1.20 -P 2



          Interval        Transfer        Bandwidth

          sec             MBytes          Mbits/sec

FreeBSD:   0.0-10.3        370             300

          0.0-10.3        370             300

     SUM: 0.0-10.3        739             600



Linux:     0.0-10.0        479             402

          0.0-10.0        473             396

     SUM: 0.0-10.0        952             797








_______________________________________________
freebsd-performance@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to
"freebsd-performance-unsubscribe@freebsd.org"




--=20
the sun shines for all


--Boundary_(ID_AAjka9hhoFsx6rdqZWl8ZQ)
Content-type: application/octet-stream; name=linux_netpipe
Content-transfer-encoding: 7bit
Content-disposition: attachment; filename=linux_netpipe


  0:       1 bytes   1936 times -->      0.15 Mbps in      50.54 usec
  1:       2 bytes   1978 times -->      0.30 Mbps in      50.62 usec
  2:       3 bytes   1975 times -->      0.45 Mbps in      50.49 usec
  3:       4 bytes   1320 times -->      0.60 Mbps in      50.45 usec
  4:       6 bytes   1486 times -->      0.91 Mbps in      50.56 usec
  5:       8 bytes    988 times -->      1.21 Mbps in      50.35 usec
  6:      12 bytes   1241 times -->      1.81 Mbps in      50.49 usec
  7:      13 bytes    825 times -->      1.97 Mbps in      50.46 usec
  8:      16 bytes    914 times -->      2.42 Mbps in      50.52 usec
  9:      19 bytes   1113 times -->      2.85 Mbps in      50.79 usec
 10:      21 bytes   1243 times -->      3.17 Mbps in      50.54 usec
 11:      24 bytes   1318 times -->      3.62 Mbps in      50.53 usec
 12:      27 bytes   1401 times -->      4.09 Mbps in      50.40 usec
 13:      29 bytes    881 times -->      4.38 Mbps in      50.46 usec
 14:      32 bytes    956 times -->      4.85 Mbps in      50.36 usec
 15:      35 bytes   1054 times -->      5.30 Mbps in      50.42 usec
 16:      45 bytes   1133 times -->      6.82 Mbps in      50.36 usec
 17:      48 bytes   1323 times -->      7.29 Mbps in      50.22 usec
 18:      51 bytes   1368 times -->      7.73 Mbps in      50.31 usec
 19:      61 bytes    779 times -->      9.29 Mbps in      50.08 usec
 20:      64 bytes    982 times -->      9.75 Mbps in      50.07 usec
 21:      67 bytes   1029 times -->     10.18 Mbps in      50.24 usec
 22:      93 bytes   1069 times -->     14.07 Mbps in      50.42 usec
 23:      96 bytes   1322 times -->     14.50 Mbps in      50.51 usec
 24:      99 bytes   1340 times -->     15.00 Mbps in      50.35 usec
 25:     125 bytes    722 times -->     18.88 Mbps in      50.51 usec
 26:     128 bytes    982 times -->     19.33 Mbps in      50.51 usec
 27:     131 bytes   1005 times -->     19.81 Mbps in      50.45 usec
 28:     189 bytes   1028 times -->     28.17 Mbps in      51.18 usec
 29:     192 bytes   1302 times -->     28.84 Mbps in      50.78 usec
 30:     195 bytes   1322 times -->     29.20 Mbps in      50.95 usec
 31:     253 bytes    684 times -->     35.91 Mbps in      53.75 usec
 32:     256 bytes    926 times -->     36.58 Mbps in      53.39 usec
 33:     259 bytes    943 times -->     35.04 Mbps in      56.39 usec
 34:     381 bytes    903 times -->     36.09 Mbps in      80.53 usec
 35:     384 bytes    827 times -->     37.61 Mbps in      77.90 usec
 36:     387 bytes    859 times -->     35.44 Mbps in      83.32 usec
 37:     509 bytes    409 times -->     38.92 Mbps in      99.78 usec
 38:     512 bytes    500 times -->     39.42 Mbps in      99.09 usec
 39:     515 bytes    506 times -->     39.37 Mbps in      99.79 usec
 40:     765 bytes    505 times -->     58.48 Mbps in      99.81 usec
 41:     768 bytes    667 times -->     58.71 Mbps in      99.81 usec
 42:     771 bytes    669 times -->     58.92 Mbps in      99.84 usec
 43:    1021 bytes    337 times -->     78.04 Mbps in      99.82 usec
 44:    1024 bytes    500 times -->     78.25 Mbps in      99.84 usec
 45:    1027 bytes    501 times -->     78.48 Mbps in      99.84 usec
 46:    1533 bytes    503 times -->    113.72 Mbps in     102.85 usec
 47:    1536 bytes    648 times -->    117.04 Mbps in     100.12 usec
 48:    1539 bytes    666 times -->    114.54 Mbps in     102.51 usec
 49:    2045 bytes    327 times -->    153.81 Mbps in     101.44 usec
 50:    2048 bytes    492 times -->    149.29 Mbps in     104.66 usec
 51:    2051 bytes    478 times -->    150.08 Mbps in     104.27 usec
 52:    3069 bytes    480 times -->    183.63 Mbps in     127.51 usec
 53:    3072 bytes    522 times -->    186.45 Mbps in     125.71 usec
 54:    3075 bytes    530 times -->    187.94 Mbps in     124.83 usec
 55:    4093 bytes    267 times -->    229.30 Mbps in     136.18 usec
 56:    4096 bytes    367 times -->    235.25 Mbps in     132.84 usec
 57:    4099 bytes    376 times -->    227.97 Mbps in     137.18 usec
 58:    6141 bytes    364 times -->    309.08 Mbps in     151.59 usec
 59:    6144 bytes    439 times -->    310.29 Mbps in     151.07 usec
 60:    6147 bytes    441 times -->    310.13 Mbps in     151.22 usec
 61:    8189 bytes    220 times -->    356.91 Mbps in     175.05 usec
 62:    8192 bytes    285 times -->    357.32 Mbps in     174.91 usec
 63:    8195 bytes    285 times -->    358.05 Mbps in     174.62 usec
 64:   12285 bytes    286 times -->    375.11 Mbps in     249.86 usec
 65:   12288 bytes    266 times -->    375.21 Mbps in     249.86 usec
 66:   12291 bytes    266 times -->    375.30 Mbps in     249.86 usec
 67:   16381 bytes    133 times -->    353.40 Mbps in     353.65 usec
 68:   16384 bytes    141 times -->    333.80 Mbps in     374.48 usec
 69:   16387 bytes    133 times -->    353.42 Mbps in     353.75 usec
 70:   24573 bytes    141 times -->    394.92 Mbps in     474.73 usec
 71:   24576 bytes    140 times -->    390.87 Mbps in     479.70 usec
 72:   24579 bytes    138 times -->    435.83 Mbps in     430.27 usec
 73:   32765 bytes     77 times -->    500.27 Mbps in     499.68 usec
 74:   32768 bytes    100 times -->    500.29 Mbps in     499.71 usec
 75:   32771 bytes    100 times -->    500.33 Mbps in     499.72 usec
 76:   49149 bytes    100 times -->    556.87 Mbps in     673.36 usec
 77:   49152 bytes     99 times -->    551.50 Mbps in     679.96 usec
 78:   49155 bytes     98 times -->    552.23 Mbps in     679.10 usec
 79:   65533 bytes     49 times -->    566.89 Mbps in     881.97 usec
 80:   65536 bytes     56 times -->    555.27 Mbps in     900.46 usec
 81:   65539 bytes     55 times -->    570.94 Mbps in     875.79 usec
 82:   98301 bytes     57 times -->    633.33 Mbps in    1184.18 usec
 83:   98304 bytes     56 times -->    626.79 Mbps in    1196.57 usec
 84:   98307 bytes     55 times -->    630.89 Mbps in    1188.84 usec
 85:  131069 bytes     28 times -->    645.60 Mbps in    1548.91 usec
 86:  131072 bytes     32 times -->    647.52 Mbps in    1544.35 usec
 87:  131075 bytes     32 times -->    652.15 Mbps in    1533.42 usec
 88:  196605 bytes     32 times -->    683.08 Mbps in    2195.89 usec
 89:  196608 bytes     30 times -->    682.95 Mbps in    2196.37 usec
 90:  196611 bytes     30 times -->    685.38 Mbps in    2188.62 usec
 91:  262141 bytes     15 times -->    696.10 Mbps in    2873.13 usec
 92:  262144 bytes     17 times -->    696.48 Mbps in    2871.59 usec
 93:  262147 bytes     17 times -->    696.58 Mbps in    2871.20 usec
 94:  393213 bytes     17 times -->    702.85 Mbps in    4268.32 usec
 95:  393216 bytes     15 times -->    702.86 Mbps in    4268.30 usec
 96:  393219 bytes     15 times -->    704.15 Mbps in    4260.47 usec
 97:  524285 bytes      7 times -->    709.22 Mbps in    5640.00 usec
 98:  524288 bytes      8 times -->    709.20 Mbps in    5640.12 usec
 99:  524291 bytes      8 times -->    708.82 Mbps in    5643.25 usec
100:  786429 bytes      8 times -->    716.97 Mbps in    8368.51 usec
101:  786432 bytes      7 times -->    713.89 Mbps in    8404.63 usec
102:  786435 bytes      7 times -->    714.01 Mbps in    8403.28 usec
103: 1048573 bytes      3 times -->    718.93 Mbps in   11127.67 usec
104: 1048576 bytes      4 times -->    716.32 Mbps in   11168.12 usec
105: 1048579 bytes      4 times -->    716.39 Mbps in   11167.11 usec
106: 1572861 bytes      4 times -->    726.29 Mbps in   16522.26 usec
107: 1572864 bytes      4 times -->    719.14 Mbps in   16686.50 usec
108: 1572867 bytes      3 times -->    718.72 Mbps in   16696.33 usec
109: 2097149 bytes      3 times -->    731.29 Mbps in   21879.00 usec
110: 2097152 bytes      3 times -->    722.07 Mbps in   22158.50 usec
111: 2097155 bytes      3 times -->    724.44 Mbps in   22086.18 usec
112: 3145725 bytes      3 times -->    733.23 Mbps in   32731.65 usec
113: 3145728 bytes      3 times -->    735.02 Mbps in   32652.18 usec
114: 3145731 bytes      3 times -->    735.73 Mbps in   32620.83 usec
115: 4194301 bytes      3 times -->    734.49 Mbps in   43567.34 usec
116: 4194304 bytes      3 times -->    736.95 Mbps in   43422.50 usec
117: 4194307 bytes      3 times -->    736.49 Mbps in   43449.64 usec
118: 6291453 bytes      3 times -->    740.40 Mbps in   64830.03 usec
119: 6291456 bytes      3 times -->    740.67 Mbps in   64806.34 usec
120: 6291459 bytes      3 times -->    739.82 Mbps in   64880.49 usec
121: 8388605 bytes      3 times -->    737.90 Mbps in   86732.19 usec
122: 8388608 bytes      3 times -->    734.54 Mbps in   87129.87 usec
123: 8388611 bytes      3 times -->    738.20 Mbps in   86697.14 usec

--Boundary_(ID_AAjka9hhoFsx6rdqZWl8ZQ)
Content-type: application/octet-stream; name=freebsd_netpipe
Content-transfer-encoding: 7bit
Content-disposition: attachment; filename=freebsd_netpipe


  0:       1 bytes   1593 times -->      0.12 Mbps in      62.50 usec
  1:       2 bytes   1599 times -->      0.24 Mbps in      62.46 usec
  2:       3 bytes   1601 times -->      0.37 Mbps in      62.46 usec
  3:       4 bytes   1067 times -->      0.49 Mbps in      62.51 usec
  4:       6 bytes   1199 times -->      0.73 Mbps in      62.51 usec
  5:       8 bytes    799 times -->      0.98 Mbps in      62.54 usec
  6:      12 bytes    999 times -->      1.47 Mbps in      62.46 usec
  7:      13 bytes    667 times -->      1.59 Mbps in      62.45 usec
  8:      16 bytes    739 times -->      1.95 Mbps in      62.46 usec
  9:      19 bytes    900 times -->      2.32 Mbps in      62.46 usec
 10:      21 bytes   1011 times -->      2.57 Mbps in      62.46 usec
 11:      24 bytes   1067 times -->      2.93 Mbps in      62.46 usec
 12:      27 bytes   1134 times -->      3.30 Mbps in      62.51 usec
 13:      29 bytes    710 times -->      3.54 Mbps in      62.46 usec
 14:      32 bytes    772 times -->      3.91 Mbps in      62.45 usec
 15:      35 bytes    850 times -->      4.27 Mbps in      62.53 usec
 16:      45 bytes    913 times -->      5.50 Mbps in      62.46 usec
 17:      48 bytes   1067 times -->      5.86 Mbps in      62.46 usec
 18:      51 bytes   1100 times -->      6.23 Mbps in      62.46 usec
 19:      61 bytes    627 times -->      7.45 Mbps in      62.45 usec
 20:      64 bytes    787 times -->      7.82 Mbps in      62.47 usec
 21:      67 bytes    825 times -->      8.18 Mbps in      62.46 usec
 22:      93 bytes    860 times -->     11.36 Mbps in      62.46 usec
 23:      96 bytes   1067 times -->     11.72 Mbps in      62.52 usec
 24:      99 bytes   1083 times -->     12.09 Mbps in      62.46 usec
 25:     125 bytes    582 times -->     15.27 Mbps in      62.46 usec
 26:     128 bytes    794 times -->     15.64 Mbps in      62.45 usec
 27:     131 bytes    813 times -->     16.00 Mbps in      62.46 usec
 28:     189 bytes    831 times -->     23.09 Mbps in      62.46 usec
 29:     192 bytes   1067 times -->     23.46 Mbps in      62.45 usec
 30:     195 bytes   1075 times -->     23.82 Mbps in      62.46 usec
 31:     253 bytes    558 times -->     30.91 Mbps in      62.46 usec
 32:     256 bytes    797 times -->     31.27 Mbps in      62.47 usec
 33:     259 bytes    806 times -->     31.60 Mbps in      62.53 usec
 34:     381 bytes    815 times -->     46.48 Mbps in      62.53 usec
 35:     384 bytes   1066 times -->     46.86 Mbps in      62.52 usec
 36:     387 bytes   1070 times -->     47.22 Mbps in      62.52 usec
 37:     509 bytes    545 times -->     61.95 Mbps in      62.68 usec
 38:     512 bytes    796 times -->     62.31 Mbps in      62.69 usec
 39:     515 bytes    800 times -->     62.44 Mbps in      62.93 usec
 40:     765 bytes    802 times -->     91.83 Mbps in      63.55 usec
 41:     768 bytes   1048 times -->     92.06 Mbps in      63.65 usec
 42:     771 bytes   1049 times -->     92.58 Mbps in      63.54 usec
 43:    1021 bytes    530 times -->     73.94 Mbps in     105.35 usec
 44:    1024 bytes    474 times -->     74.21 Mbps in     105.27 usec
 45:    1027 bytes    475 times -->     74.57 Mbps in     105.07 usec
 46:    1533 bytes    478 times -->     82.34 Mbps in     142.04 usec
 47:    1536 bytes    469 times -->     83.80 Mbps in     139.84 usec
 48:    1539 bytes    477 times -->     83.66 Mbps in     140.36 usec
 49:    2045 bytes    238 times -->    101.61 Mbps in     153.55 usec
 50:    2048 bytes    325 times -->    100.01 Mbps in     156.23 usec
 51:    2051 bytes    320 times -->    101.09 Mbps in     154.79 usec
 52:    3069 bytes    323 times -->    125.49 Mbps in     186.59 usec
 53:    3072 bytes    357 times -->    125.44 Mbps in     186.85 usec
 54:    3075 bytes    356 times -->    125.43 Mbps in     187.05 usec
 55:    4093 bytes    178 times -->    166.69 Mbps in     187.34 usec
 56:    4096 bytes    266 times -->    166.78 Mbps in     187.37 usec
 57:    4099 bytes    266 times -->    167.11 Mbps in     187.14 usec
 58:    6141 bytes    267 times -->    250.04 Mbps in     187.38 usec
 59:    6144 bytes    355 times -->    250.19 Mbps in     187.36 usec
 60:    6147 bytes    355 times -->    250.31 Mbps in     187.36 usec
 61:    8189 bytes    178 times -->    329.14 Mbps in     189.82 usec
 62:    8192 bytes    263 times -->    329.81 Mbps in     189.50 usec
 63:    8195 bytes    263 times -->    329.40 Mbps in     189.81 usec
 64:   12285 bytes    263 times -->    375.15 Mbps in     249.84 usec
 65:   12288 bytes    266 times -->    375.00 Mbps in     250.00 usec
 66:   12291 bytes    266 times -->    374.86 Mbps in     250.15 usec
 67:   16381 bytes    133 times -->    401.20 Mbps in     311.51 usec
 68:   16384 bytes    160 times -->    400.31 Mbps in     312.26 usec
 69:   16387 bytes    160 times -->    400.41 Mbps in     312.23 usec
 70:   24573 bytes    160 times -->    430.30 Mbps in     435.68 usec
 71:   24576 bytes    153 times -->    430.81 Mbps in     435.23 usec
 72:   24579 bytes    153 times -->    430.09 Mbps in     436.01 usec
 73:   32765 bytes     76 times -->    479.72 Mbps in     521.09 usec
 74:   32768 bytes     95 times -->    478.95 Mbps in     521.97 usec
 75:   32771 bytes     95 times -->    479.98 Mbps in     520.90 usec
 76:   49149 bytes     96 times -->    512.29 Mbps in     731.96 usec
 77:   49152 bytes     91 times -->    509.08 Mbps in     736.62 usec
 78:   49155 bytes     90 times -->    508.77 Mbps in     737.11 usec
 79:   65533 bytes     45 times -->    512.45 Mbps in     975.67 usec
 80:   65536 bytes     51 times -->    510.17 Mbps in     980.07 usec
 81:   65539 bytes     51 times -->    513.75 Mbps in     973.28 usec
 82:   98301 bytes     51 times -->    536.30 Mbps in    1398.42 usec
 83:   98304 bytes     47 times -->    535.35 Mbps in    1400.96 usec
 84:   98307 bytes     47 times -->    535.64 Mbps in    1400.23 usec
 85:  131069 bytes     23 times -->    540.77 Mbps in    1849.17 usec
 86:  131072 bytes     27 times -->    539.68 Mbps in    1852.95 usec
 87:  131075 bytes     26 times -->    542.03 Mbps in    1844.96 usec
 88:  196605 bytes     27 times -->    554.36 Mbps in    2705.76 usec
 89:  196608 bytes     24 times -->    550.97 Mbps in    2722.48 usec
 90:  196611 bytes     24 times -->    553.04 Mbps in    2712.31 usec
 91:  262141 bytes     12 times -->    553.75 Mbps in    3611.70 usec
 92:  262144 bytes     13 times -->    552.19 Mbps in    3621.96 usec
 93:  262147 bytes     13 times -->    552.69 Mbps in    3618.70 usec
 94:  393213 bytes     13 times -->    319.51 Mbps in    9389.38 usec
 95:  393216 bytes      7 times -->    558.48 Mbps in    5371.72 usec
 96:  393219 bytes     12 times -->    310.32 Mbps in    9667.63 usec
 97:  524285 bytes      3 times -->    562.05 Mbps in    7116.79 usec
 98:  524288 bytes      7 times -->    561.72 Mbps in    7120.93 usec
 99:  524291 bytes      7 times -->    561.72 Mbps in    7121.07 usec
100:  786429 bytes      7 times -->    564.83 Mbps in   10622.71 usec
101:  786432 bytes      6 times -->    564.31 Mbps in   10632.50 usec
102:  786435 bytes      6 times -->    564.50 Mbps in   10628.92 usec
103: 1048573 bytes      3 times -->    566.81 Mbps in   14114.14 usec
104: 1048576 bytes      3 times -->    566.79 Mbps in   14114.50 usec
105: 1048579 bytes      3 times -->    565.11 Mbps in   14156.50 usec
106: 1572861 bytes      3 times -->    568.89 Mbps in   21093.53 usec
107: 1572864 bytes      3 times -->    569.04 Mbps in   21088.16 usec
108: 1572867 bytes      3 times -->    569.20 Mbps in   21082.16 usec
109: 2097149 bytes      3 times -->    353.93 Mbps in   45206.03 usec
110: 2097152 bytes      3 times -->    567.81 Mbps in   28178.33 usec
111: 2097155 bytes      3 times -->    565.47 Mbps in   28295.00 usec
112: 3145725 bytes      3 times -->    313.65 Mbps in   76518.81 usec
113: 3145728 bytes      3 times -->    564.73 Mbps in   42498.35 usec
114: 3145731 bytes      3 times -->    403.88 Mbps in   59423.49 usec
115: 4194301 bytes      3 times -->    438.02 Mbps in   73055.35 usec
116: 4194304 bytes      3 times -->    437.75 Mbps in   73100.49 usec
117: 4194307 bytes      3 times -->    298.08 Mbps in  107355.16 usec
118: 6291453 bytes      3 times -->    404.09 Mbps in  118785.50 usec
119: 6291456 bytes      3 times -->    354.53 Mbps in  135389.84 usec
120: 6291459 bytes      3 times -->    315.14 Mbps in  152314.66 usec
121: 8388605 bytes      3 times -->    390.67 Mbps in  163821.34 usec
122: 8388608 bytes      3 times -->    297.76 Mbps in  214937.33 usec
123: 8388611 bytes      3 times -->    324.16 Mbps in  197430.69 usec

--Boundary_(ID_AAjka9hhoFsx6rdqZWl8ZQ)--

From owner-freebsd-performance@FreeBSD.ORG  Fri Oct 16 05:44:39 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 46AF71065676
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 05:44:39 +0000 (UTC)
	(envelope-from sdong@huawei.com)
Received: from usaga04-in.huawei.com (usaga04-in.huawei.com [206.16.17.180])
	by mx1.freebsd.org (Postfix) with ESMTP id F2E768FC1A
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 05:44:38 +0000 (UTC)
Received: from huawei.com (usaga04-in [172.18.4.101])
	by usaga04-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14
	(built Aug
	8 2006)) with ESMTP id <0KRL00K3YEMDTC@usaga04-in.huawei.com> for
	freebsd-performance@freebsd.org; Fri, 16 Oct 2009 00:44:37 -0500 (CDT)
Received: from D73888 ([10.51.0.59])
	by usaga04-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14
	(built Aug
	8 2006)) with ESMTPA id <0KRL005M5EM2CF@usaga04-in.huawei.com> for
	freebsd-performance@freebsd.org; Fri, 16 Oct 2009 00:44:36 -0500 (CDT)
Date: Thu, 15 Oct 2009 22:44:25 -0700
From: Steve Dong <sdong@huawei.com>
In-reply-to: <4831593800614E6796A45F20BA4B818E@china.huawei.com>
To: 'Hongtao Yin' <htyin@huawei.com>,
	=?gb2312?B?J0lzdHaoom4n?= <leccine@gmail.com>
Message-id: <001301ca4e23$b96e35b0$3322c10a@china.huawei.com>
MIME-version: 1.0
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.3350
X-Mailer: Microsoft Office Outlook 11
Content-type: multipart/mixed; boundary="Boundary_(ID_JfD3cYT+iunSEpWFPmBx9w)"
Thread-index: AcpNkNPyM/T7sWEVTyKaneG8WESK0wAgHXSAAAQEnYA=
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
	<b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
	<4831593800614E6796A45F20BA4B818E@china.huawei.com>
X-Content-Filtered-By: Mailman/MimeDel 2.1.5
Cc: freebsd-performance@freebsd.org
Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Oct 2009 05:44:39 -0000

This is a multi-part message in MIME format.

--Boundary_(ID_JfD3cYT+iunSEpWFPmBx9w)
Content-type: text/plain; charset=gb2312
Content-transfer-encoding: quoted-printable

Here are graphs from the netpipe test results with 8.0 RC1
=20

Thanks,
Steve

=20

-----Original Message-----
From: owner-freebsd-performance@freebsd.org
[mailto:owner-freebsd-performance@freebsd.org] On Behalf Of Hongtao Yin
Sent: Thursday, October 15, 2009 8:52 PM
To: 'Istv=A8=A2n'
Cc: freebsd-performance@freebsd.org
Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance

Istvan,

=20

I ran newer FreeBSD code 8.0 RC1 this time. By using NetPIPE, we =
collected
test data and the result shows that FreeBSD TCP performance is worse =
than
Linux. I got troubles to plot using gnuplot, so here I am attaching the =
raw
data files.

The netpipe commands are as follows:

PC2: #NPtcp

PC1: #NPtcp =A8Ch 192.168.1.20

=20

Regards,

Hongtao

=20

=20

=20

  _____ =20

From: Istv=A8=A2n [mailto:leccine@gmail.com]
Sent: 2009=C4=EA10=D4=C215=C8=D5 5:13
To: Hongtao Yin
Cc: freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance

=20

use netpipe TCP pls.

=20

And graph it.

=20

Thanks in advance,

Istvan

On Thu, Oct 15, 2009 at 2:42 AM, Hongtao Yin <htyin@huawei.com> wrote:

Hi,



I compared TCP performance between FreeBSD and Linux by running test =
tools
Netperf and Iperf with Intel NIC.

The kernels are full version and default values are used in the testing
except TCP Congestion Control algorithm set to Reno.

>From the test results we can see Linux TCP performance in throughput is
better than FreeBSD. The worst case (send msg size 128) shows that =
FreeBSD
throughput is only 43% of Linux's.



I like to get some feedback if anyone did similar comparison test, or =
knows
any issues with kernels or drivers. Thanks lot.



FreeBSD and Linux Sysctl captures are attached for reference.



Regards,

Hongtao







Test Environments:

PC: Dell Precision T3400 (same 4 PCs)

CPU: Intel Core 2 Duo CPU E4600@2.4Ghz

FreeBSD: V7.1 (full version) (TCP CC: newReno)

Linux: V2.6.31.1 (full version) (TCP CC: Reno)

Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter =
(Gigabit)
chip 82546EB (only one port used for each PC)

Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108)

Iperf: V2.0.4

Netperf: V2.4.4



Setup:





                                 ----------

                                 | switch |

                                 ----------

              ---------------------| | | |--------------------

              |                      | |                     |

              |              --------| |--------             |

              |              |                 |             |

              |              |                 |             |

       --------------  --------------  --------------  --------------

       |     PC1    |  |    PC2     |  |    PC3     |  |    PC4     |

       |   FreeBSD  |  |   FreeBSD  |  |   Linux    |  |   Linux    |

       |192.168.1.10|  |192.168.1.20|  |192.168.1.30|  |192.168.1.40|

       --------------  --------------  --------------  --------------











=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D

    Netperf Test Results

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D



TCP Throughput Test

-------------------



PC2/4: #netserver -p 22113

PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10



         Recv             Send            Send           Elapsed
Throughput

         Socket           Socket          Message        Time
10^6 bits/sec

         Size             Size            Size           Sec.

         bytes            bytes           bytes

FreeBSD:  65536            32768           32768          10.34
598.11

Linux:    87380            16384           16384          10.04
779.02





PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m
64/128/256/512/1024/2048/4096



         Recv             Send            Send           Elapsed
Throughput

         Socket           Socket          Message        Time
10^6 bits/sec

         Size             Size            Size           Sec.

         bytes            bytes           bytes

FreeBSD:  65536            32768           64              10.19
417.10

         65536            32768           128             10.35
336.63

         65536            32768           256             10.36
576.99

         65536            32768           512             10.35
569.79

         65536            32768           1024            10.35
553.70

         65536            32768           2048            10.35
584.20

         65536            32768           4096            10.35
602.45



Linux:    87380            16384           64              10.03
778.21

         87380            16384           128             10.03
779.72

         87380            16384           256             10.04
780.16

         87380            16384           512             10.03
776.85

         87380            16384           1024            10.04
777.52

         87380            16384           2048            10.04
777.83

         87380            16384           4096            10.03
780.17









=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D

     Iperf Test Results

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D



Bandwidth Test

--------------



PC2/4: #iperf -s

PC1/3: #iperf -c 192.168.1.20



          Interval        Transfer        Bandwidth

          sec             MBytes          Mbits/sec

FreeBSD:   0.0-10.3        740             600

Linux:     0.0-10.0        972             815





PC1/3: #iperf -c 192.168.1.20 -d



          Interval        Transfer        Bandwidth

          sec             MBytes          Mbits/sec

FreeBSD:   0.0-10.0        402             337

          0.0-10.0        404             338



Linux:     0.0-10.0        926             776

          0.0-10.0        44.1            36.9





Parallel Test

-------------



PC2/4: #iperf -s

PC1/3: #iperf -c 192.168.1.20 -P 2



          Interval        Transfer        Bandwidth

          sec             MBytes          Mbits/sec

FreeBSD:   0.0-10.3        370             300

          0.0-10.3        370             300

     SUM: 0.0-10.3        739             600



Linux:     0.0-10.0        479             402

          0.0-10.0        473             396

     SUM: 0.0-10.0        952             797








_______________________________________________
freebsd-performance@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to
"freebsd-performance-unsubscribe@freebsd.org"




--
the sun shines for all


--Boundary_(ID_JfD3cYT+iunSEpWFPmBx9w)--

From owner-freebsd-performance@FreeBSD.ORG  Fri Oct 16 05:53:21 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id ECD3B106566C
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 05:53:20 +0000 (UTC)
	(envelope-from sdong@huawei.com)
Received: from usaga02-in.huawei.com (usaga02-in.huawei.com [206.16.17.70])
	by mx1.freebsd.org (Postfix) with ESMTP id 410248FC1C
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 05:53:16 +0000 (UTC)
Received: from huawei.com (localhost [127.0.0.1])
	by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14
	(built Aug
	8 2006)) with ESMTP id <0KRL00HLWF0QIG@usaga02-in.huawei.com> for
	freebsd-performance@freebsd.org; Thu, 15 Oct 2009 22:53:15 -0700 (PDT)
Received: from D73888 ([10.51.0.59])
	by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14
	(built Aug
	8 2006)) with ESMTPA id <0KRL00JJNF0MS8@usaga02-in.huawei.com> for
	freebsd-performance@freebsd.org; Thu, 15 Oct 2009 22:53:14 -0700 (PDT)
Date: Thu, 15 Oct 2009 22:53:09 -0700
From: Steve Dong <sdong@huawei.com>
In-reply-to: <001301ca4e23$b96e35b0$3322c10a@china.huawei.com>
To: =?gb2312?B?J0lzdHaoom4n?= <leccine@gmail.com>
Message-id: <001c01ca4e24$f10f6e70$3322c10a@china.huawei.com>
MIME-version: 1.0
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.3350
X-Mailer: Microsoft Office Outlook 11
Content-type: multipart/mixed; boundary="Boundary_(ID_X07vp6D5t+VhKmtY4Ii/5g)"
Thread-index: AcpNkNPyM/T7sWEVTyKaneG8WESK0wAgHXSAAAQEnYAAAKXm4A==
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
	<b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
	<4831593800614E6796A45F20BA4B818E@china.huawei.com>
	<001301ca4e23$b96e35b0$3322c10a@china.huawei.com>
Cc: freebsd-performance@freebsd.org
Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Oct 2009 05:53:21 -0000

This is a multi-part message in MIME format.

--Boundary_(ID_X07vp6D5t+VhKmtY4Ii/5g)
Content-type: text/plain; charset=gb2312
Content-transfer-encoding: quoted-printable

It looks the jpeg attachments were somehow dropped. Trying again with =
pdf
attachment. Hopefully it works this time.=20


Thanks,
Steve

=20

-----Original Message-----
From: owner-freebsd-performance@freebsd.org
[mailto:owner-freebsd-performance@freebsd.org] On Behalf Of Steve Dong
Sent: Thursday, October 15, 2009 10:44 PM
To: 'Hongtao Yin'; 'Istv=A8=A2n'
Cc: freebsd-performance@freebsd.org
Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance

Here are graphs from the netpipe test results with 8.0 RC1
=20

Thanks,
Steve

=20

-----Original Message-----
From: owner-freebsd-performance@freebsd.org
[mailto:owner-freebsd-performance@freebsd.org] On Behalf Of Hongtao Yin
Sent: Thursday, October 15, 2009 8:52 PM
To: 'Istv=A8=A2n'
Cc: freebsd-performance@freebsd.org
Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance

Istvan,

=20

I ran newer FreeBSD code 8.0 RC1 this time. By using NetPIPE, we =
collected
test data and the result shows that FreeBSD TCP performance is worse =
than
Linux. I got troubles to plot using gnuplot, so here I am attaching the =
raw
data files.

The netpipe commands are as follows:

PC2: #NPtcp

PC1: #NPtcp =A8Ch 192.168.1.20

=20

Regards,

Hongtao

=20

=20

=20

  _____ =20

From: Istv=A8=A2n [mailto:leccine@gmail.com]
Sent: 2009=C4=EA10=D4=C215=C8=D5 5:13
To: Hongtao Yin
Cc: freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance

=20

use netpipe TCP pls.

=20

And graph it.

=20

Thanks in advance,

Istvan

On Thu, Oct 15, 2009 at 2:42 AM, Hongtao Yin <htyin@huawei.com> wrote:

Hi,



I compared TCP performance between FreeBSD and Linux by running test =
tools
Netperf and Iperf with Intel NIC.

The kernels are full version and default values are used in the testing
except TCP Congestion Control algorithm set to Reno.

>From the test results we can see Linux TCP performance in throughput is
better than FreeBSD. The worst case (send msg size 128) shows that =
FreeBSD
throughput is only 43% of Linux's.



I like to get some feedback if anyone did similar comparison test, or =
knows
any issues with kernels or drivers. Thanks lot.



FreeBSD and Linux Sysctl captures are attached for reference.



Regards,

Hongtao







Test Environments:

PC: Dell Precision T3400 (same 4 PCs)

CPU: Intel Core 2 Duo CPU E4600@2.4Ghz

FreeBSD: V7.1 (full version) (TCP CC: newReno)

Linux: V2.6.31.1 (full version) (TCP CC: Reno)

Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter =
(Gigabit)
chip 82546EB (only one port used for each PC)

Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108)

Iperf: V2.0.4

Netperf: V2.4.4



Setup:





                                 ----------

                                 | switch |

                                 ----------

              ---------------------| | | |--------------------

              |                      | |                     |

              |              --------| |--------             |

              |              |                 |             |

              |              |                 |             |

       --------------  --------------  --------------  --------------

       |     PC1    |  |    PC2     |  |    PC3     |  |    PC4     |

       |   FreeBSD  |  |   FreeBSD  |  |   Linux    |  |   Linux    |

       |192.168.1.10|  |192.168.1.20|  |192.168.1.30|  |192.168.1.40|

       --------------  --------------  --------------  --------------











=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D

    Netperf Test Results

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D



TCP Throughput Test

-------------------



PC2/4: #netserver -p 22113

PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10



         Recv             Send            Send           Elapsed
Throughput

         Socket           Socket          Message        Time
10^6 bits/sec

         Size             Size            Size           Sec.

         bytes            bytes           bytes

FreeBSD:  65536            32768           32768          10.34
598.11

Linux:    87380            16384           16384          10.04
779.02





PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m
64/128/256/512/1024/2048/4096



         Recv             Send            Send           Elapsed
Throughput

         Socket           Socket          Message        Time
10^6 bits/sec

         Size             Size            Size           Sec.

         bytes            bytes           bytes

FreeBSD:  65536            32768           64              10.19
417.10

         65536            32768           128             10.35
336.63

         65536            32768           256             10.36
576.99

         65536            32768           512             10.35
569.79

         65536            32768           1024            10.35
553.70

         65536            32768           2048            10.35
584.20

         65536            32768           4096            10.35
602.45



Linux:    87380            16384           64              10.03
778.21

         87380            16384           128             10.03
779.72

         87380            16384           256             10.04
780.16

         87380            16384           512             10.03
776.85

         87380            16384           1024            10.04
777.52

         87380            16384           2048            10.04
777.83

         87380            16384           4096            10.03
780.17









=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D

     Iperf Test Results

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D



Bandwidth Test

--------------



PC2/4: #iperf -s

PC1/3: #iperf -c 192.168.1.20



          Interval        Transfer        Bandwidth

          sec             MBytes          Mbits/sec

FreeBSD:   0.0-10.3        740             600

Linux:     0.0-10.0        972             815





PC1/3: #iperf -c 192.168.1.20 -d



          Interval        Transfer        Bandwidth

          sec             MBytes          Mbits/sec

FreeBSD:   0.0-10.0        402             337

          0.0-10.0        404             338



Linux:     0.0-10.0        926             776

          0.0-10.0        44.1            36.9





Parallel Test

-------------



PC2/4: #iperf -s

PC1/3: #iperf -c 192.168.1.20 -P 2



          Interval        Transfer        Bandwidth

          sec             MBytes          Mbits/sec

FreeBSD:   0.0-10.3        370             300

          0.0-10.3        370             300

     SUM: 0.0-10.3        739             600



Linux:     0.0-10.0        479             402

          0.0-10.0        473             396

     SUM: 0.0-10.0        952             797








_______________________________________________
freebsd-performance@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to
"freebsd-performance-unsubscribe@freebsd.org"




--
the sun shines for all


--Boundary_(ID_X07vp6D5t+VhKmtY4Ii/5g)
Content-type: application/pdf; name=netpipe.pdf
Content-transfer-encoding: base64
Content-disposition: attachment; filename=netpipe.pdf

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
PDj8hy9P391jNkP2eoan21zXBb8f711ajOSrSlxtI6AIIyAxU9HOO9F+b3DTnloctiKEUjgS9xzx
e61Bf5gx+t8//X/9/wXiZW5kc3RyZWFtCmVuZG9iago2IDAgb2JqCjEwOTQ4CmVuZG9iago0IDAg
b2JqCjw8L1R5cGUvUGFnZS9NZWRpYUJveCBbMCAwIDYxMiA3OTJdCi9Sb3RhdGUgMC9QYXJlbnQg
MyAwIFIKL1Jlc291cmNlczw8L1Byb2NTZXRbL1BERiAvVGV4dF0KL0V4dEdTdGF0ZSAxNCAwIFIK
L0ZvbnQgMTUgMCBSCj4+Ci9Db250ZW50cyA1IDAgUgo+PgplbmRvYmoKMyAwIG9iago8PCAvVHlw
ZSAvUGFnZXMgL0tpZHMgWwo0IDAgUgpdIC9Db3VudCAxCj4+CmVuZG9iagoxIDAgb2JqCjw8L1R5
cGUgL0NhdGFsb2cgL1BhZ2VzIDMgMCBSCi9PcGVuQWN0aW9uIFs0IDAgUiAvRml0XQovTWV0YWRh
dGEgMjIgMCBSCj4+CmVuZG9iago3IDAgb2JqCjw8L1R5cGUvRXh0R1N0YXRlCi9PUE0gMT4+ZW5k
b2JqCjE0IDAgb2JqCjw8L1I3CjcgMCBSPj4KZW5kb2JqCjE1IDAgb2JqCjw8L1I4CjggMCBSL1Ix
MAoxMCAwIFIvUjEyCjEyIDAgUj4+CmVuZG9iago4IDAgb2JqCjw8L0Jhc2VGb250L0dNVFhTVStB
cmlhbCxCb2xkL0ZvbnREZXNjcmlwdG9yIDkgMCBSL1R5cGUvRm9udAovRmlyc3RDaGFyIDEvTGFz
dENoYXIgMjQvV2lkdGhzWyA2MTEgNzIyIDY2NyAyNzggNjExIDM4OSA2MTEgNjExIDYxMSA2MTEg
MzMzIDYxMSA2MTEgMjc4IDU1Ngo3MjIgNTU2IDU1NiA1NTYgODMzIDYxMSA2MTEgNjY3IDcyMl0K
L0VuY29kaW5nIDE5IDAgUi9TdWJ0eXBlL1RydWVUeXBlPj4KZW5kb2JqCjE5IDAgb2JqCjw8L1R5
cGUvRW5jb2RpbmcvQmFzZUVuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9EaWZmZXJlbmNlc1sKMS9U
L0MvUC9zcGFjZS9oL3Ivby91L2cvcC90L24vTC9pL3gvQgoveS9lL3MvTS9iL0YvUy9EXT4+CmVu
ZG9iagoxMCAwIG9iago8PC9CYXNlRm9udC9SRFpSUEkrQXJpYWwvRm9udERlc2NyaXB0b3IgMTEg
MCBSL1R5cGUvRm9udAovRmlyc3RDaGFyIDEvTGFzdENoYXIgMTAvV2lkdGhzWyA1NTYgNTU2IDU1
NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTZdCi9FbmNvZGluZyAyMCAwIFIvU3VidHlwZS9U
cnVlVHlwZT4+CmVuZG9iagoyMCAwIG9iago8PC9UeXBlL0VuY29kaW5nL0Jhc2VFbmNvZGluZy9X
aW5BbnNpRW5jb2RpbmcvRGlmZmVyZW5jZXNbCjEvemVyby9vbmUvdHdvL3RocmVlL2ZvdXIvZml2
ZS9zaXgvc2V2ZW4vZWlnaHQvbmluZV0+PgplbmRvYmoKMTIgMCBvYmoKPDwvQmFzZUZvbnQvS1BT
SEJPK1RpbWVzTmV3Um9tYW4vRm9udERlc2NyaXB0b3IgMTMgMCBSL1R5cGUvRm9udAovRmlyc3RD
aGFyIDEvTGFzdENoYXIgMS9XaWR0aHNbIDI1MF0KL0VuY29kaW5nIDIxIDAgUi9TdWJ0eXBlL1Ry
dWVUeXBlPj4KZW5kb2JqCjIxIDAgb2JqCjw8L1R5cGUvRW5jb2RpbmcvQmFzZUVuY29kaW5nL1dp
bkFuc2lFbmNvZGluZy9EaWZmZXJlbmNlc1sKMS9zcGFjZV0+PgplbmRvYmoKOSAwIG9iago8PC9U
eXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0dNVFhTVStBcmlhbCxCb2xkL0ZvbnRCQm94WzAg
LTIxMCA3NjIgNzI4XS9GbGFncyA0Ci9Bc2NlbnQgNzI4Ci9DYXBIZWlnaHQgNzI4Ci9EZXNjZW50
IC0yMTAKL0l0YWxpY0FuZ2xlIDAKL1N0ZW1WIDExNAovTWlzc2luZ1dpZHRoIDc1MAovWEhlaWdo
dCA1MzAKL0ZvbnRGaWxlMiAxNiAwIFI+PgplbmRvYmoKMTYgMCBvYmoKPDwvRmlsdGVyL0ZsYXRl
RGVjb2RlCi9MZW5ndGgxIDE5Nzk2L0xlbmd0aCAxMTM2MT4+c3RyZWFtCnic7Xx7fFTVtfDa+5wz
Z86ZZ+adScK8MpOQSUhIJoRAJCchiUAEwtOMGAmP8PABCQ9BWyGKCgQfUBUf1RJtFYoPJhPEhEeN
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
Go69ooTvl9p12lfOvdIl0rNyGb6P6yfpjxkuY6+xwnj6u/e797v3u/e797v3u/e797v3u/e797v3
f/6m/kBJ+n/q2oBT/66HG0GDmYpQGdc4Z2bzlFmXzyi+bF7wyklzS+pHjsn77/25jP//Hh6a1JRn
8jnlSiYxJSxl/48D0woIQRnKjP31jZnQDFNgFlwOM6AYLoN5EFT/MslcjKfrYSTGjCmxEbCof24H
QAMyQM2q5QuuLaxdee1iNgbZzv4p8v/ho724eApOJS+qSP/vaw37rydpoJXw/wQIv4SdCAsQ7mXA
fwj3/xN4RLMXdpwDYS7cdwFMwfbC/yZsPg+roUaFD2E2wg9wfvf8PWD9DoSZCNsYcDkqXwndCx4s
33keVoMejACpc/QvHrY39M9Le2L7Ds43VX2hzUxt5mMfVql/Kaz/7WetX311dtgMWjvSSuf28n8D
I3ugwQplbmRzdHJlYW0KZW5kb2JqCjExIDAgb2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9u
dE5hbWUvUkRaUlBJK0FyaWFsL0ZvbnRCQm94WzEyIC0xMiA2MjUgNzE4XS9GbGFncyA2NTU0MAov
QXNjZW50IDcxOAovQ2FwSGVpZ2h0IDcxOAovRGVzY2VudCAtMTIKL0l0YWxpY0FuZ2xlIDAKL1N0
ZW1WIDkzCi9NaXNzaW5nV2lkdGggNzUwCi9Gb250RmlsZTIgMTcgMCBSPj4KZW5kb2JqCjE3IDAg
b2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZQovTGVuZ3RoMSAxNDcyMC9MZW5ndGggNzU5OD4+c3Ry
ZWFtCnic7Tt7fJNFtmfm+/Jonl/SJk3TkHxpaICmpVgepVDpV9qCWKA8WmxYaltapFCQYgEFeQTk
WVDQVRTWB7I+QEXSUiAUXKogrijiCsuuT1Dxea3gXsRVIblnvqSF3uu9v/3j/nN/l296Zs6cOTNz
5pwzZ2ZKAQIAeggAB+NKJmZmgfwNnoXZpJrZ1Q3RejYPQMbWLJgnbk57bwESPgJQ9rujYfrstxf6
twKodFi/c/qshXdE+W3tAKa0umnVte885n0QIOcWJA6qQ4K5vzmCEy7Ges+62fPuic13FLOps+bU
VEfrfb5DHuvs6nsatCN1OxDfhkTxzurZ02L8pZglNsxpnBet5/Rm7Q13TWuYED76DfLj/JqIog2S
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
a+vlX3ZfnS6AWofVuE7Z/wOvyJ/oCmVuZHN0cmVhbQplbmRvYmoKMTMgMCBvYmoKPDwvVHlwZS9G
b250RGVzY3JpcHRvci9Gb250TmFtZS9LUFNIQk8rVGltZXNOZXdSb21hbi9Gb250QkJveFswIDAg
NjM4IDYyNV0vRmxhZ3MgNjU1NDAKL0FzY2VudCA2MjUKL0NhcEhlaWdodCA2MjUKL0Rlc2NlbnQg
MAovSXRhbGljQW5nbGUgMAovU3RlbVYgOTUKL01pc3NpbmdXaWR0aCA3NzcKL0ZvbnRGaWxlMiAx
OCAwIFI+PgplbmRvYmoKMTggMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlCi9MZW5ndGgxIDEx
NzQ0L0xlbmd0aCA1NDU3Pj5zdHJlYW0KeJztWnt4VNW1X3vvc2YmCZMM4ZFAgDOTk4HATEwIKhCm
ZPKY8BiEAAFmqDWThPASTDQJVgsGa1EMKFSpj1YBtTwqWE4mYhO0Em21V60F66PqtYJXrNbWSn3d
tkLO/e0zEyT387u39/vuf+XsrLX2XmvtvdZee5199k5CjIictJEEVc9bWFhM1lPgBlrcsLauOdH2
9RKxQMO6Vven/jdvBOMtIvuzy5tXrP3F3tEYwfFjItvEFWuuW57QH1MEtG5lY92yY98c/V2Mtx/t
S1eCkflx5hdE6a+jnbdybeu3k/Ykda1paqhL9oe+c/jaum83O5nrp9A/A6b7qrq1jQm5X7Y9zU0t
rcn+m6W8+ZrG5lNTdsCXjFGAIertROoc0gCjxA7KITLfAZwCfNA32zyjXkl632rzpBiC3o8kgchL
d9EuyqPTbCI9Tb00m/ZSGVXTDppBx+gQpdN17AVSSKdK2k9ephGnKspiKt1Lb9DldA29Rycpn8L0
NsvEOCFqpuE01fwjcJg2mz3QSqUK+ikdYWvYQipEfSb3Mx8sbzN7KYvyzRfN19G6n95jeWYnzUTt
DzSYxlE7fZ8yaTU9b8oI5FE97WPr2R/JQzHaolysdJhX0jQ6TK+yMGqX0XXq6ymHaQ16PcSyWK95
wnyfnlQYNWKk79JmeBynXn6RqFB3k5vG0jdoLtVB+h16gw1hE0XQHGeWm/eCu48+4T7+rLDDDx/N
olq6jR5ANF6jU/Q5S2OXsPvZAZSX2F9UubphaqPrkVf3I3r76CD1sIlsIs/iWYhWFo2nRZBtoz2w
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
4W5t8flIgkxwrABUfWxg3hNraSOEAgsCAiWL2yK7tUn6lSL24FG4IY+Sp2XcmS/r5Oxx/iSOqXZ+
NE6q0s2ffFRQql1WDjMa4bCpRyHnJNh4SmFXsiso2+f6InA2MNf1WeCyswEqRd11BmhikWewZ7AX
iI1S6Ixb9J4JqvQluZVe674+7UK5UC6UC+VCuVAulAvlQrlQLpQL5V+4yIcn/7I5VP6xi4iNBMj/
0xL0r/0olGth6++8p5lp9mP5y0VKxIdRpvxXPtRslEFUs2ptY4t7buO17gVNa+uuIkuD2Hb5x6F/
8nEMbJ6m0+YARvKv0LapbFQ/SPP/62qxhE6ncehIbUbgc8eIhKEH3x39tKQ9rx7O/7L17FYXOdLR
TOm3818NOYC5CmVuZHN0cmVhbQplbmRvYmoKMjIgMCBvYmoKPDwvVHlwZS9NZXRhZGF0YQovU3Vi
dHlwZS9YTUwvTGVuZ3RoIDE0NDM+PnN0cmVhbQo8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1
TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pgo8P2Fkb2JlLXhhcC1maWx0ZXJzIGVzYz0iQ1JMRiI/
Pgo8eDp4bXBtZXRhIHhtbG5zOng9J2Fkb2JlOm5zOm1ldGEvJyB4OnhtcHRrPSdYTVAgdG9vbGtp
dCAyLjkuMS0xMywgZnJhbWV3b3JrIDEuNic+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3
dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIycgeG1sbnM6aVg9J2h0dHA6Ly9ucy5h
ZG9iZS5jb20vaVgvMS4wLyc+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSc2ODkyYmMzMi1i
YzczLTExZGUtMDAwMC1lYmUzNDIyZWUxZDknIHhtbG5zOnBkZj0naHR0cDovL25zLmFkb2JlLmNv
bS9wZGYvMS4zLycgcGRmOlByb2R1Y2VyPSdCdWxsemlwIFBERiBQcmludGVyIC8gd3d3LmJ1bGx6
aXAuY29tIC8gRnJlZXdhcmUgRWRpdGlvbiBcKG5vdCByZWdpc3RlcmVkXCknLz4KPHJkZjpEZXNj
cmlwdGlvbiByZGY6YWJvdXQ9JzY4OTJiYzMyLWJjNzMtMTFkZS0wMDAwLWViZTM0MjJlZTFkOScg
eG1sbnM6eG1wPSdodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvJz48eG1wOk1vZGlmeURhdGU+
MjAwOS0xMC0xNVQyMjo1MToxMi0wNzowMDwveG1wOk1vZGlmeURhdGU+Cjx4bXA6Q3JlYXRlRGF0
ZT4yMDA5LTEwLTE1VDIyOjUxOjEyLTA3OjAwPC94bXA6Q3JlYXRlRGF0ZT4KPHhtcDpDcmVhdG9y
VG9vbD5QU2NyaXB0NS5kbGwgVmVyc2lvbiA1LjIuMjwveG1wOkNyZWF0b3JUb29sPjwvcmRmOkRl
c2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nNjg5MmJjMzItYmM3My0xMWRl
LTAwMDAtZWJlMzQyMmVlMWQ5JyB4bWxuczp4YXBNTT0naHR0cDovL25zLmFkb2JlLmNvbS94YXAv
MS4wL21tLycgeGFwTU06RG9jdW1lbnRJRD0nNjg5MmJjMzItYmM3My0xMWRlLTAwMDAtZWJlMzQy
MmVlMWQ5Jy8+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSc2ODkyYmMzMi1iYzczLTExZGUt
MDAwMC1lYmUzNDIyZWUxZDknIHhtbG5zOmRjPSdodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMv
MS4xLycgZGM6Zm9ybWF0PSdhcHBsaWNhdGlvbi9wZGYnPjxkYzp0aXRsZT48cmRmOkFsdD48cmRm
OmxpIHhtbDpsYW5nPSd4LWRlZmF1bHQnPigpPC9yZGY6bGk+PC9yZGY6QWx0PjwvZGM6dGl0bGU+
PGRjOmNyZWF0b3I+PHJkZjpTZXE+PHJkZjpsaT5YNzM4ODg8L3JkZjpsaT48L3JkZjpTZXE+PC9k
YzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9J3cnPz4KZW5kc3RyZWFt
CmVuZG9iagoyIDAgb2JqCjw8L1Byb2R1Y2VyKEJ1bGx6aXAgUERGIFByaW50ZXIgLyB3d3cuYnVs
bHppcC5jb20gLyBGcmVld2FyZSBFZGl0aW9uIFwobm90IHJlZ2lzdGVyZWRcKSkKL0NyZWF0aW9u
RGF0ZShEOjIwMDkxMDE1MjI1MTEyLTA3JzAwJykKL01vZERhdGUoRDoyMDA5MTAxNTIyNTExMi0w
NycwMCcpCi9BdXRob3IoWDczODg4KQovVGl0bGUoKQovQ3JlYXRvcihQU2NyaXB0NS5kbGwgVmVy
c2lvbiA1LjIuMik+PmVuZG9iagp4cmVmCjAgMjMKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDEx
MjczIDAwMDAwIG4gCjAwMDAwMzkyMjQgMDAwMDAgbiAKMDAwMDAxMTIxNCAwMDAwMCBuIAowMDAw
MDExMDU0IDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAxMTAzMyAwMDAwMCBuIAow
MDAwMDExMzYzIDAwMDAwIG4gCjAwMDAwMTE0ODYgMDAwMDAgbiAKMDAwMDAxMjQxNCAwMDAwMCBu
IAowMDAwMDExODYxIDAwMDAwIG4gCjAwMDAwMjQwNzYgMDAwMDAgbiAKMDAwMDAxMjE3NCAwMDAw
MCBuIAowMDAwMDMxOTU5IDAwMDAwIG4gCjAwMDAwMTE0MDQgMDAwMDAgbiAKMDAwMDAxMTQzNCAw
MDAwMCBuIAowMDAwMDEyNjMwIDAwMDAwIG4gCjAwMDAwMjQyNzcgMDAwMDAgbiAKMDAwMDAzMjE2
MyAwMDAwMCBuIAowMDAwMDExNzI4IDAwMDAwIG4gCjAwMDAwMTIwNDQgMDAwMDAgbiAKMDAwMDAx
MjMyOCAwMDAwMCBuIAowMDAwMDM3NzA0IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMjMgL1Jv
b3QgMSAwIFIgL0luZm8gMiAwIFIKL0lEIFs8MUZCNEIwMUE3OThFNjYzMTQ5NjM3MjUwMzc4RTAy
MkI+PDFGQjRCMDFBNzk4RTY2MzE0OTYzNzI1MDM3OEUwMjJCPl0KPj4Kc3RhcnR4cmVmCjM5NDY0
CiUlRU9GCg==

--Boundary_(ID_X07vp6D5t+VhKmtY4Ii/5g)--

From owner-freebsd-performance@FreeBSD.ORG  Fri Oct 16 07:04:21 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id C745D1065672
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 07:04:21 +0000 (UTC)
	(envelope-from dkelly@hiwaay.net)
Received: from smtp.knology.net (smtp.knology.net [24.214.63.101])
	by mx1.freebsd.org (Postfix) with ESMTP id 066828FC12
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 07:04:20 +0000 (UTC)
Received: (qmail 25293 invoked by uid 0); 16 Oct 2009 06:37:38 -0000
Received: from unknown (HELO ?10.0.0.9?) (24.42.224.110)
	by smtp5.knology.net with SMTP; 16 Oct 2009 06:37:38 -0000
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
	<b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
	<4831593800614E6796A45F20BA4B818E@china.huawei.com>
	<001301ca4e23$b96e35b0$3322c10a@china.huawei.com>
	<001c01ca4e24$f10f6e70$3322c10a@china.huawei.com>
In-Reply-To: <001c01ca4e24$f10f6e70$3322c10a@china.huawei.com>
Mime-Version: 1.0 (Apple Message framework v1076)
Content-Type: multipart/mixed; boundary=Apple-Mail-3-342453490
Message-Id: <5FD087E4-438B-41F0-B6C3-D6C3792F5B4D@hiwaay.net>
From: David Kelly <dkelly@hiwaay.net>
Date: Fri, 16 Oct 2009 01:37:23 -0500
To: Steve Dong <sdong@huawei.com>
X-Mailer: Apple Mail (2.1076)
Cc: =?GB2312?Q?Istv=A8=A2n?= <leccine@gmail.com>,
	freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: freebsd-performance@freebsd.org
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Oct 2009 07:04:21 -0000


--Apple-Mail-3-342453490
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=us-ascii;
	format=flowed;
	delsp=yes


On Oct 16, 2009, at 12:53 AM, Steve Dong wrote:

> It looks the jpeg attachments were somehow dropped. Trying again  
> with pdf
> attachment. Hopefully it works this time.


*I* saw two jpeg charts at the very bottom of Steve's top-posted  
reply. This demonstrates just one of many evils of top-posting: the  
top-poster doesn't read everything he re-sends. If its not worth  
reading then why send it again?


--Apple-Mail-3-342453490
Content-Disposition: inline;
	filename=netpipe.pdf
Content-Type: application/pdf;
	name="netpipe.pdf"
Content-Transfer-Encoding: base64

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
PDj8hy9P391jNkP2eoan21zXBb8f711ajOSrSlxtI6AIIyAxU9HOO9F+b3DTnloctiKEUjgS9xzx
e61Bf5gx+t8//X/9/wXiZW5kc3RyZWFtCmVuZG9iago2IDAgb2JqCjEwOTQ4CmVuZG9iago0IDAg
b2JqCjw8L1R5cGUvUGFnZS9NZWRpYUJveCBbMCAwIDYxMiA3OTJdCi9Sb3RhdGUgMC9QYXJlbnQg
MyAwIFIKL1Jlc291cmNlczw8L1Byb2NTZXRbL1BERiAvVGV4dF0KL0V4dEdTdGF0ZSAxNCAwIFIK
L0ZvbnQgMTUgMCBSCj4+Ci9Db250ZW50cyA1IDAgUgo+PgplbmRvYmoKMyAwIG9iago8PCAvVHlw
ZSAvUGFnZXMgL0tpZHMgWwo0IDAgUgpdIC9Db3VudCAxCj4+CmVuZG9iagoxIDAgb2JqCjw8L1R5
cGUgL0NhdGFsb2cgL1BhZ2VzIDMgMCBSCi9PcGVuQWN0aW9uIFs0IDAgUiAvRml0XQovTWV0YWRh
dGEgMjIgMCBSCj4+CmVuZG9iago3IDAgb2JqCjw8L1R5cGUvRXh0R1N0YXRlCi9PUE0gMT4+ZW5k
b2JqCjE0IDAgb2JqCjw8L1I3CjcgMCBSPj4KZW5kb2JqCjE1IDAgb2JqCjw8L1I4CjggMCBSL1Ix
MAoxMCAwIFIvUjEyCjEyIDAgUj4+CmVuZG9iago4IDAgb2JqCjw8L0Jhc2VGb250L0dNVFhTVStB
cmlhbCxCb2xkL0ZvbnREZXNjcmlwdG9yIDkgMCBSL1R5cGUvRm9udAovRmlyc3RDaGFyIDEvTGFz
dENoYXIgMjQvV2lkdGhzWyA2MTEgNzIyIDY2NyAyNzggNjExIDM4OSA2MTEgNjExIDYxMSA2MTEg
MzMzIDYxMSA2MTEgMjc4IDU1Ngo3MjIgNTU2IDU1NiA1NTYgODMzIDYxMSA2MTEgNjY3IDcyMl0K
L0VuY29kaW5nIDE5IDAgUi9TdWJ0eXBlL1RydWVUeXBlPj4KZW5kb2JqCjE5IDAgb2JqCjw8L1R5
cGUvRW5jb2RpbmcvQmFzZUVuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9EaWZmZXJlbmNlc1sKMS9U
L0MvUC9zcGFjZS9oL3Ivby91L2cvcC90L24vTC9pL3gvQgoveS9lL3MvTS9iL0YvUy9EXT4+CmVu
ZG9iagoxMCAwIG9iago8PC9CYXNlRm9udC9SRFpSUEkrQXJpYWwvRm9udERlc2NyaXB0b3IgMTEg
MCBSL1R5cGUvRm9udAovRmlyc3RDaGFyIDEvTGFzdENoYXIgMTAvV2lkdGhzWyA1NTYgNTU2IDU1
NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTZdCi9FbmNvZGluZyAyMCAwIFIvU3VidHlwZS9U
cnVlVHlwZT4+CmVuZG9iagoyMCAwIG9iago8PC9UeXBlL0VuY29kaW5nL0Jhc2VFbmNvZGluZy9X
aW5BbnNpRW5jb2RpbmcvRGlmZmVyZW5jZXNbCjEvemVyby9vbmUvdHdvL3RocmVlL2ZvdXIvZml2
ZS9zaXgvc2V2ZW4vZWlnaHQvbmluZV0+PgplbmRvYmoKMTIgMCBvYmoKPDwvQmFzZUZvbnQvS1BT
SEJPK1RpbWVzTmV3Um9tYW4vRm9udERlc2NyaXB0b3IgMTMgMCBSL1R5cGUvRm9udAovRmlyc3RD
aGFyIDEvTGFzdENoYXIgMS9XaWR0aHNbIDI1MF0KL0VuY29kaW5nIDIxIDAgUi9TdWJ0eXBlL1Ry
dWVUeXBlPj4KZW5kb2JqCjIxIDAgb2JqCjw8L1R5cGUvRW5jb2RpbmcvQmFzZUVuY29kaW5nL1dp
bkFuc2lFbmNvZGluZy9EaWZmZXJlbmNlc1sKMS9zcGFjZV0+PgplbmRvYmoKOSAwIG9iago8PC9U
eXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0dNVFhTVStBcmlhbCxCb2xkL0ZvbnRCQm94WzAg
LTIxMCA3NjIgNzI4XS9GbGFncyA0Ci9Bc2NlbnQgNzI4Ci9DYXBIZWlnaHQgNzI4Ci9EZXNjZW50
IC0yMTAKL0l0YWxpY0FuZ2xlIDAKL1N0ZW1WIDExNAovTWlzc2luZ1dpZHRoIDc1MAovWEhlaWdo
dCA1MzAKL0ZvbnRGaWxlMiAxNiAwIFI+PgplbmRvYmoKMTYgMCBvYmoKPDwvRmlsdGVyL0ZsYXRl
RGVjb2RlCi9MZW5ndGgxIDE5Nzk2L0xlbmd0aCAxMTM2MT4+c3RyZWFtCnic7Xx7fFTVtfDa+5wz
Z86ZZ+adScK8MpOQSUhIJoRAJCchiUAEwtOMGAmP8PABCQ9BWyGKCgQfUBUf1RJtFYoPJhPEhEeN
Wltta8Xro2i1zVexqCVXbq8iVTLzrX1mQGhtf9+99/vj+34/z8naaz/W2o+11157rRMIEAAwQCdw
0DR9VnEpqE9jCSZzF123oD1VnrwHgFy96Po13s889/4GK94HEMctaV96nfbjg/kAWheA8Lul196w
JEU/4icAOSeXtS1Y/Ns/+XYDTM3GyjHLsMKywZLEAU9hOXfZdWvWp8fbgv2vunblogWpctV2pHFc
t2B9u2GThQMw2rDSu2LBdW1pelbObl+5ek2qfNlZ1t6+qq29xreY0UcAzCuFg5Ctwm7I5kOAc0ge
PweJ5cnjrI1h+imOnpOC9BOHp+B3JJ94oZd8BU44QzLJaJgMPHyJktoHw3Af2GA27CQWyAUHzIHJ
hEeaMNxBfpi8PvkJXAI/gMeSz5Fbknux/W74BZzBGfyBJ1AB05B+DrTBJ9xHEE0+BFrYDDoYDzOJ
AxbAO/h+gXO4B+6Fn5HvJ8/gqDa4BfurghqoSb6QPAsFcAe/XTgmPQs74BDRJBcll8MI8EMXDSff
Sf4RQhCFH8NTOKcwGeAngQ+ugdvgAZLJ/QJz98FPIEH0tIWbKDzPthfmwgpYB12wF35FLKRJOCac
Sn4veQI0YIV8nNNy+ISUk6n0cV6fnJB8D+ZBP7yC62XvAD+P3y3MS1QnH0m+CHZ4jsjkMHlBKBXu
Gr45+WjyGdDjfEajRKbhOAthE7wAr8J/wF/pxuRGmASzcOSXSQ7xkhBK/B2aSTfQDdybMApX24Kz
XQu7IIY7chAOwRGUze9hED4iNpJFppCFZAf5K9XTxfR17ofcfu4tnvA/RXkHIIgyWgOPwwH4DbwG
rxMB+y8hTeRqspLcTx4hgzRGT9IveS2/if+aHxZCicHE18lpyS/ABW64DG6EjSjbH0Mv7Iffwtvw
V/hPOE3MZCxZRh4lMTJITlKJ+ul02k530sfp09w0bgf3Al/O1/LX8K/x7wm3C9vEBWLi7BOJexJP
J95IPpd8A3XHiP2HoAElejNqxePwPLyJvb8LH8CfmP5g/+PJFeQqHGU12ULuJU+Tl8kb5FNcJaiv
n46ndTjqSroK5XQLvYfei6O/ju9R+h79gP6FfsEJnJ8bw3Vwj3Ixro87yv2ZN/MhfhQ/mp/OX8En
cWdKhUuFWcIe4UnhReGUpkqzWNOu+Vi8RbxV+5vhguE/JCCxLBFL9KLualGTbkRJ/AgeQ73fj3vw
K5Tob3HGg/A57oKb+EgezruSNJBGMpVcTq4kbeQWspn8gDxAfkgeI8/gCnANVMS5h2kNnUUX0DZ6
K91M76T78T1IX6Xv0GN0CGfu5AJcmBvNTeau4OZxK3ANa7gN3K0o2R3cXu517k3uBPcxN4S75uRH
8Gv5G/kH+d38fv4N4TLhOnwfE54XBoQ3hLPCWQ3VuDXZmmLN1Zo9mj+JGnGM2CRuFd8S/1PbTrJJ
Ac7cCxc8NBPP4Ai6l9r4jWQIK3IIDyZceRj3YRaeiv+Eai6B+2Jk7Tg3O83krYxTo/Ax5F9DDkE5
eRk2aiiHVpUfhDh5nw7yL9FL4G3SSjL53dwK4VfUB0+iNdpOD9NDpBb20yo6lz7MAfmI7IGPUN/X
w73kGrIaniRDZBy5iVSQjfAWdXCzyK1QlXyM8kQik8kpwBnAzfxiuAr+5UMq0Vp/kvgRb+C/j/ap
D3bijj4FfyQ/ha+IkDyJ1o1Da7QArcwdqO+3AbN6LXjONuJ5zEQLcq3mddhPNGjxKzQT+BvhFPwN
PhEOokbVoiU9kVjO/4j/MFmRLMIThqcM9uC5WwaX4on5CLXkCJZZ6Uo86TLaklI81U1wBSyGm9Dq
7UjGkg8nNyVvSK6EXyPvV6SQfEW68UT0IUcVvILv3fAu2Ybn8NJ/vc5/9iQWwwB8SlwkSErxPAwJ
1wvbhb3CfuFnwmua0SjtW+GHqNF/Qm2WcQWL4A34FL4kWtybTCiECM53LM69Ga6lUe4ITCRuaMcz
m492vDa9ktXYyy0ovYfxPB/Bs3EK7cSV8DM4Rihx4ooW4fha7KcR5TwfqZ/AHdxEerFmMVrtAvgL
rttIxtI1OJ6CPe1EqzWAc3of/ozSTqrzKkS7UEfmYl9fwuWwGEcYA02kB3fgAFSiZa3jfoPyziVm
qCV+8hPka8UTaoQcqBQ+JBQKE9OSY+ly7gjeMUms78bbKwsuIR04CxOuYxjsZDqUJ2biHN4EUGpm
K9UTLqkaP65ybEV5pKx0dEnxqKLCcMHI/LxQMDfg93k9I3Kys9yZLqfDbrNaMswmo0GvkyWtqBF4
jhIorA80tHpjodYYHwpMmlTEyoEFWLHggorWmBerGi6miXlbVTLvxZQKUi75O0olRamcpyRmbxVU
FRV66wPe2Gt1AW8fuWJGM+bvrAtEvbEhNT9VzW9X8wbM+3zI4K13Lavzxkirtz7WcP2yrvrWOuyu
RydPDExsk4sKoUfWYVaHuZgz0N5DnBOImqHO+nE9FLQGnFTMHairj2UG6tgMYlywfsHiWNOM5vq6
LJ8vWlQYIxMXBRbGIFAbM4VVEpioDhPTTIyJ6jDe5Ww1sM3bUzjQdUefGRa2hvWLA4sXXNkc4xZE
2RgZYRy3Lua88bjrmyJ2bpnYvPnC1iyuq9613MuKXV2bvbGBGc0XtvpYGo1iH8hLgw2tXQ049B0o
xMZZXhyN3hZtjpHbcEgvWwlbVWp9bYF6VtN6tTcmBWoDy7qubsWtcXfFYOYNvrjbrfQnB8Fd7+2a
3RzwxaqzAtEFddk9NuiaeUNvpuLNvLilqLDHnJESbI/RlM7oDRdm2s63qTmVnOUaZ56XLGEzCkxG
hYh5F3lxJs0BXNNYlrSNha5FY5EMnyhBrthi3JHlMWlia5d5HKtn/DEhaA54u74A1IDA0MmLaxak
azRB8xfAskxPzqsatp/Lx8LhWEEBUxFxIu4pznGCWi4vKry+j44JtJu9iFB80ISyXRAdV4zi9/nY
Bm/rU2AhFmKdM5pTZS8szIqDUhyOxmgraxk412Kfw1o6z7WcZ28NoCbvB+bU22Pa0Pkfk9lhrV82
LkYc/6K5LdXeOCvQOOOKZm99V2tato2zLyql2seeb0vnYtaJzVwWTedoFqe2olJeeZ6YFZr1MT6I
PxpVqRfHOFRKtYJ4G2Lm1kmpNCr7fP+Up0/UXsDUlzzFuFT0DVt6lrFx4YvL4y8qXzQ7fReH8+VD
tHH2FV1d8kVtDWiAuroaAt6GrtauBX3JzoUBrznQ1U93091d7fWt5za0L3lwW1as4Y4oLmIZGYfK
SqG2J0C2zOhRyJZZVzT3mzFS2TK7OU4JndhaG+3JxbbmfnRFFLWWnq9lJS8rQSNBRY9TrdqU1a8A
dKqtvFqhlhf1EVDrtOfqCCzqo6k6s1qHTxGwvRcnJKbBRDN89VUiZFZrLnquZDWaLry/q2AlRgAU
zFCMNxdopiWT6CvQn8Fs7iEwEQKe5AD3QK/ZVqr0cQ/2mqylSo2Zuw+aECjEuKkwgEBhJbcDNiJQ
JG+MF40u7WeZXtlYakb6beBF6ETgoBtTopYVBEa/rdfqYN1vipsyVL7vxUsiqUyv2VXaVGPj1gPh
2rgV6PR70FlcgVeqh1uEOAfxQm4xhrdsnkqvyVzaieNVI3k1+k4jsbmGc6BH4uHqODfehoxsbdyY
GmdtPL+gtEbmJnIulcTEGdAZ8HBaToyXeryHOCZihdvSK+nY/LbEzfbSI9xtnIjBmofrRCqnx3SE
k6EYga1kdq9kKN1eo+dm4zJno1g8OEcCu9RU4VbEsSMcr57LxgDGw13D5WAw5eEauBFxu2fgEHeP
SvYD1guONyGuLWOo12AsHaiRuAnYGuPuQonfpY62vTc0Fn2tEJcPJQgUhboRcxvZdnJdmOvCberC
renCrenCWXThVgO3FVu2Ik0xdyO0c+tgO8IuzPPYpT2OEuxXM7n5pf1cJudCSZgPoewI1rp7JSOb
mStusapkrl69sbT6CLcapiNQnPyaXqerdOUhrkBdSmGvK4sxtMclPYrOmdoLZHSwPTjCZXMjVEnk
qBKI1XiwTMDEeYDQX9GjTDr0Tfo2218W/qj412n8Whr/NoWTA/RoL46i9NF/Y3iwJpt+hJ3Npx/A
LsxReoi+BCXI8B7tY7Og79J+qEZ8DMuLEfcjLkN8MO57xdNH+3oR4dx/GDc42GLpS/FwcTrjCaYz
zqx0xuIorQnSF+kLkI1d/A5xLuIX6ACG7B76PGIX4gF0AF9B/Cwth/GI96fxz+lhptP0OXoAXVEP
7Y0b2RRicZGhfXENQ8/EIVVqKvYcps/QJzGK9dCn4yE31u7pDeV6TIewP4LB4pp4jsdSI9NHSTP5
HIm60VFFDBb6WLyCdbI9ftjr6afb6XbFVaEElSLlCa4kWFJU8gTnDXqLvBXeJ7w1ZnoXCCg8PLB0
G6YV4KWoPQgKwna6Nc5XxGqGcU1sXRQ6Me1Wc62Ytqs5DJrAfL71lJqrprfBdASKfWxA2IjQiXAz
Bijb6Y0I30P4PsJNas0ahLUI69B8tCNHO3K0I0e7ytGOHO3I0Y4c7SpHuzr6WgTG0YocrcjRihyt
KkcrcrQiRytytKocbL6tyNGqcjQhRxNyNCFHk8rRhBxNyNGEHE0qRxNyNCFHk8qhIIeCHApyKCqH
ghwKcijIoagcCnIoyKGoHCXIUYIcJchRonKUIEcJcpQgR4nKUYIcJchRonJ4kcOLHF7k8KocXuTw
IocXObwqhxc5vMjhVTnMyGFGDjNymFUOM3KYkcOMHGaVw6zuz1oExjGIHIPIMYgcgyrHIHIMIscg
cgyqHIPIMYgcg3RdD3e05mVkOYosR5HlqMpyFFmOIstRZDmqshxFlqPIcjS99DWqMCiqzQaEjQid
CIx3AHkHkHcAeQdU3gFVvdYiMN4YcsSQI4YcMZUjhhwx5IghR0zliCFHDDliKkc3cnQjRzdydKsc
3cjRjRzdyNGtcnSrirsWgXH815Xyv7w19GbSrMXLlXaSkSreCCdVvAGOqfgm6FHx9+EJFX8PblHx
jVCh4nUQUjH2p+I14NGSuKfCVONAEzAdYT7CSoRdCPsQnkcQ1dzrCH9ESNJyxc+bxOniLnGf+Lwo
7BMHRWrSTNfs0uzTPK8R9mkGNdRbk0UNqh1F0wJ3q+lGTD9DwEsE02o1V00jOG4E7Ww5vhEaUTKG
vJ8VkNcLyPMFZF8BubuA1Ej0UsKrls4LFRhAekizog9N8BxDqAjlTUDLdNeBk05PPDTG00cOp9BI
JYz4JEIPwhMItyBUIJQiFCEEETxqXQHSNyv+dJeHEfIQfAheNgQ4HOj+WDK0Sj81kCd6XzaAxMbJ
y0e+Q/G8EkR98bzpiJ6L5y301EjkAOQxN4g8izv3JOJ9cc9xbH46hZ6Kew4h2hP3RBC1xPNGIZoX
z3vNU2Mgc8DDM9bZaTwL183wzLhnLpLNiHtGIgrH80KMugAHCmLrSNIMxxEH01y5qZECcc94RP64
p5JRayGPbTzRQJE6PQGBYa4XJ/RZP2nmiaLzDHnu8ZxE9r+gYFE93vX28YheD/aRuYrsOVz0IySu
8cRrZEaP90NPGscYftbzRHCr54fYFwke8DzoGeW5q6hPi9V34ry3qkPEPbdgsPOkYvV0eko8a4qO
e1Z7pngWeGZ6WoJYH/dc6TnMpglR0kyfPOBpwg4n4yqCcc+lwT51ig2eGzyKJ89T6T3M5AtjU/1W
FB1mEoDS1OiFKN+CYB/T8TkVfSRDKRBPidvFeWKtOF4MiH5xhJgj2rQWrVlr1Oq1slar1Wh5LdWC
1taXHFTCzAm2aVRfWMOzlFfzZspSCqqPTImWwhSIWblG2jirljTGBhZB40Jv7PSsQB+RMZYQArUk
ZmmExtm1sbHhxj4xOTNWEW6MiU3zmnsIuSuKtTG6BT312c19JMmqbstiQXsPgdvuzOoHQjJvuzMa
BZfj+mpXtWVCRmVD3bckrek0/M3jujCbE9vZOKs5tjcnGitlmWROtDF2Mwvp+6mJGurr+qmRoWhz
P99OTfUzWT3fXhdFsuMqGWqzEckgjyEk09aCl5GhPallZLhHKboQsiOdjyGkkw0QUulCskGl4wmj
6znmra/r8XpVmiDAMZXmWBAuoEGNQd66nlBIpQp4STOjIs0BrzqxkWpHHg+SFHlUEoJ+ndqRh6iD
xYq/IQmmScrPk5SrY3HkGxpPisaWf47Glo804f/h01YbJr2j1254iX0laQ3UtyG0xrZdv8wV61zo
9fZsWJv+fBJqXbhoGcML2mJrA211sQ2BOm/P6Je+pfkl1jw6UNcDL9XPbu55SWmri49WRtcHFtRF
e6urmmsuGmvr+bGaq76lsyrWWTMbq7rmW5prWHM1G6uGjVXDxqpWqtWx6pczvW9q7tFCbRSjchX3
Up2MOtya5YvWOsztE5hC94/3uTZkHeSB7AFdOBrTB2pjBgTWVFRTVMOa8JyxJiP7FJZucm0Y78s6
SPakm8xYnRGohXOiBUbUGCuf0RjzYSTNVCWmLPj2PVvNHrXZBfXL6/AHy2tUwPdCSlj9rc+ab3vW
rl27miVrw6sBGmMFsxpjY2bgTEQRh2qti2LdqHN1HKfW9UhSfV9yABvDOAmyhg3HcmESRgkqMkZd
Iu3WdIuUhQpret05pSuP4A2+EQHjOLouXqzGy3Rdrz/I4pc1vcXlKYzxKcNxt68UR+itQFaGgyms
ZBRhZntwe9H2iu5gd1F3hQZrDzyBlZ4n2FUaL36CgzXh1ecEgdk1URQ2TouN92g8O0cduJtlwuFo
eDVR5fWPwibnhH5esKvTva5Wu19zbkNS9ashRZxqDK89x7Q2zaI2rlVZ1AHR9KIJFvBFb0qE2v2U
JDRiH61WrCDwCQ5kkU8QyNRqhATlDpMQSCRGXOAKm09XDVdNM39eNXW4Cqoxbz6LyegSX4YvI4gJ
Gno46+UGzioCfA1efoCNsBPHWigcBCt4oRCOKdXrCsgy4/qCP/OneV7y2SVNfqEv6LB47NPttMS+
z07tdlvAH7RYtV5bEO+LrLx2TaeGahrz8/bpiZ7tiaSL6PvoHYqvZJQyqmlU66j2UZ2jto/qHqX1
jioZRUfZ/F7wWkus1NpHt/UWjZ7lCuO0W9i8p5pbOk6HO6YOfd4ypK6BQUZlcUsH2yiwJzvjOZV2
HCTuZqizx1qJQosiEcmwVALC6BK8rHSolyaml7J3bJS0QIvVVzqC2m0a0eHAVCNqBB/JKCutGDOm
PBLKCwW4DF+6EArspFOeeXLzFSvn37695dHrpyQ+ShhI/otPF1x2eeOUwjf2Ekt3uHaWcsOvhIM5
Vz44f+lT4bzDGxcf6TBoKf+LxNOCdPmldXMkYbg/sV7St0yrvbKA3agLkieEq4Q3MU59R5l2u7TV
ttWxCx7Q/FJ6i3tL9wUnBaV8fb5hpG2kY62wVrpd0IpW0em0Op0jaQEXFMR84UHhfulV7mWdUE2m
E0pmmoEMwim8sJnIM1wRFcsGxOQKxekq4rVGxWiJGBvnm8h0EzEpdlfE1EfyFb+lSOZMnxnnwmeg
duUuySbZ9rxukZhEj1gicqhud/RmbUjvC+7GNHPL6RbcFNyT4c/DLR3HwwyzTMvoEmghLS0tRNDw
AS9kmMHndTqcAgrSr8kwO8pKx/DVxFObeO1k4v3EFnIjiRDDnsWlid+7H7/+x79+pfv6vTRr3qlP
yN3kCrKC3LfrqljDqls/TXyV+PQkKieFe1FDF6CGmtEF2qiU5Qv58qXONr5NLxQ4K52THFHHModQ
6RyTtTnrQWGnTvBkMLW0WoImszYzb59IxLROslUp1k4f8fpKfNSXYUEtNJeYqZlpofdbtfC8CrJV
dhCmRk6Hw2K3iRr2BlJKNIEyvUEtupfmPNd6c19rUcWSqZsW/mT4TZL/wfcrJs2vqrp21oRnhYPZ
oRcTJ3777KbuRY0FHv7Fs+VGy9yX9+49sMRiZDpyPwB/K65UglVKtVbgNUJQ9GpLtM9r/6jli7Xb
0YfTAscHKaESaMVqDE+oZiaHFoO6vboSHdXxkpd4oYQpBa5JvnBN6hZWTcUCLootycJOFWJOMFfh
+soyfHafCvdzQ8Pj6eLhh4WDZxKPnxneweb2CM7tceEZNEuXKO4mEbWG8qiXoOUFt0i5C4fVjO6/
cNgEG3AqEyMezRYcBgd5hOTTQeGZryd/yfrGATSZuG49dSk6HRfShnQczxEOz7ciZY+LyN5x4yMS
+q69aaz8JHsU1mKikbTyh9JJGW2VLFtpNm+WPHKAFvJeqVheSpfxbdLV8jq6nv+JtFd+Vjoon5a+
kh27+O3SLvkX0qvy7+gx/h3pXfkE/Zj/SPpUNqyT1sub6B38JukOeTsVm3Vt9Gp+qbRMvp7ewIt1
tJGvkxrly7WXS82y6JKLjRE6jo9I4+Vqo8hRPa+RJNlO3bxTEns0dOLsZsWDgpIlQS+KpRqjvhSN
rpmj2iatIaJjibpKo84Q0SrGvIiOJVj1sGJmGZ2WQ6tNqCiDFqWIMsywOCtTF0gLKR4yvzXEKrL6
kuOVIhzFy2slqZTjbRzHo6cil3IUsxS74fQ8pXpZliRR6zESYx8x9LLfXR6kY0HA8zGvJSKwe9Q5
a3ZEKBUVcaOWaI9sxF04ovPq9LSPjlUseDMpSAgKEkGph5l77MYwei1ePp93DIXD5qp/N1e5M83D
HcMdVW6XeTgcxgrz8Q6cPGKcP852szAqvPmmn28e5WIoHFUttnUWmndtcrBH5x3LTLb6dKxK3cEd
TG0IYRcZwSO3gxwiMhHJ4cRQ4oPEh4k/CAfPuriPv2rgb/l6AwNUxPtQX8+gTpkgC9YpQY3Qb+t3
cZcKZKnwjkAtGUGD0QhZZnaWTKB1/IOdcHhySnJac9pzOnOEHLPpQv3OvthUnLcU6UP1jbXASaMp
TF84gUAmRVuYvm/uI78nxpkb9i68f9rVr77w2L7rJ141qbxbOOjwfbBvc9/yDPvw7/gXE62jFtY0
LTPIeEamJP/M/xXvj0JyVLmkP6Mv50D+Lwp5vCTseEnYXeE2oS1/jWa9YU3+u/p3AvqoPMc4xx8N
LNMvsSz1Lc9fWrgu5/acnT69JcDO0QhPhGGlLdMdmeGfEXjB/0KA7/B3BG723xz4X/7/FdCE5QJD
rj83UGmIBBrlRkOdf2LgakNb4AbDjf6thi7/E/Juwx6/VZIlg8avCWTKmQaHX/QHZANPnHNdSqY3
stJFVrp2uajrIG2DLNQtvbvSk0WyimwcTCJM2Sa7vZESopAm0kq2k270YwaIlvw7r7grzTzhiwok
12dJJ3EqVmfE2SjmhdyjPHnd5hja7EbyWUZqSzKL/i29Hxj+9YAyNqp6D9PMpxGHV7ErqyP8eUv4
eAqvCh9HHUzplupT+FEeWTkTUB5H0/jDuLXSj+JBhKVX4xZWOqqYLJUGr6VSVsHE6j5WjHqsM1TK
LgbWyoscxWjaANjHyeMM5f5ylONkw0R/Q+AJ+ad+GVqi5y6VoIPdkqpisLc8MmZMmZdPXaGixm5z
OnhVi9j9OoV43bs2373jkssi/f/eunnjZz8lNuIUE8esN9108+TiwrEk9vraO5LwfOLTxDvkg+wd
W26YEZmcZRk1fu4Nz7S/tOSvvzJ0LCr3V0aCxUuuO7Jtw/vXEMJscCGel348LyLePYFiqYQvEZqk
dqlT2i6JGiLQIM9REbSS0+nmNwpE6CNFiqwRvaQE2G9ZWDGDMzbRdtpJt1OeZmqHn0rvyozmHoq7
ot49w1WY1LfVHU+flyr1UsCDXc5uHvLHxFT+zsQ0/sUzZ76egN1uTn7M36ue4mx4pB8syTPKaF1l
RdalWdQyVzNXnuuY64pmfylqyvnxhvHW8qx6vtHQaK3Puld8UJL1RrymwM2iBkG0IVKsOp0JZKdP
624fQUaYR1IuZGJf1fSkHTqZLuVU16iz7qiaOjRc9edpeLpTZ3sIX3auO9DZmdis6JZolshLHEtc
y7OFlii0hNm9Nqas1IL+T8AfyrNbcddSm4pu0GaSeUv8xURiuH9ej2KJTL6hZdOtS9tuFw4On7o3
cSLxt8SpxHvzog/Tgsent+968sCjjzC/pwbXnsdPABtkkx/3gxnX3qCrfFB6yLDTvEfYLR+SDhn6
3FqtjUyil2oa5Okj9hgOaA64fym/on9HPqY/I35pMGSbsu1KVk7ErhgzIib78/bX7Rxzn3tNI6pV
bHQipncqepPR0mRsNVKjy8LO5oHMrAgps6hOZY435Vz6R6ZwuCiFXdkqVkxGU6SbfTUy47TnWyws
XON1FheTeK5OBB8ptvum46XjLh4xf8TKEbtG8CNMPq1iMEW0mTnLUxIPX+RlDrFw0eZS8m3VLmWE
CZMsMybZGdXqyaoeVo+uBSeBFBY2GSRSMdIxHD9Hiv6rehpVBsAGDBNYu5OhWK8kT1CLNb5qNdiL
Hg9jENGiDm9UUEpGNqiRDY/utLNajeaiaOTDYTQgGHWUMQXuQA1AB1gT8OLxNUNZKXA+9VBbU2fY
Sb8irjGf7Ev85bblxPbmELFohhXulgW1V+Rx6+deWVVFyMzihx59dscHaP/CiV8mjty0bRK59saN
EyeuZrowOzGDb0VdCEAxmaYsXJezOYda9Ib20bcbOkfzXhKgAa6ElNEyTiET6URunilqiwbnjpyL
U73GdCbjjNUy3lDmGJ9fVoim3NGYX1d4Sj/slO/CK1ynN+gK9IY8o8NpLzLo0di4cpkGPKtqgLrR
xgxVSL06fQrnF6QUIBBM4dGRlCJI9qxIK/tALrAz5zHlMWSUi5gi6OyiK1NTMFIXcrvYkZMyM93u
u0eT0aSP9CkylOX6LJklzVWqMjAlYGcPr9ch8/Dxcwdw+PNVKdOasqzqfuLk1MHjkj6ibh9hHhGL
BCsZiFrzuWPbgefWsNy03LY8uHTkkvDyYg07uU7BwU5qxZiKMeXlmoA/vYHOcl+GzUgDXjTHVts3
R/kGUqPNyZ+7oiJoNWwYeOemhYQ8/3InESe0H7o78dc/nd3UuvSuLcvaNjXkjbWP8DlGB6764VPP
3v020RH30/edvfTwwaur+u8y0k0/feTRHz3e/QgK6wdoeaNo4xwQV8Im4iGVbCPNtaQ24w/kb0QS
BYeQS5szlmUIhFCrLcNi5WyUmJhQczgR/V6bXXYA6OSQVlK8uZF9EklKREIx45Y4/LmR7a5uF213
nXLRz1zEBbaQw64eW6TttpNTdmLPdFanBI+3YjpYwNzpdEm11cx7G0KZOis5o7lKq9ptjPyY0cPI
Gq1fRI34NCxLntxyZMHD03MSJ7wzLmlYUZY4gabuo12T2rfcPbyDjt59RXnd1tuHT+KiUbfvwevn
Kcyyrx3r+kHCmVVnyNWK1CTRTikmDUhHpc8kwSO1ShulbqwQOI0IAs+ZgChwFAaRswXtvEbQiLxM
xRDhVV305Ub4TG16Xd+sA28dDHvUoEeNe0gHugRWNmmEe0hm4gTJ5A8QPnH26yl86Ov3UvEJH8XT
54Bdiku0Oq1XaJdp+T6eRLQRc522zvSJWdCo25EhGg0avU5HQKYk5AB1O4AksZN/th2yLqRHb3xk
3GDQn98VPTmFJ/PiXWEn4R83RnWqq4fUKLyjxXfRNvjsqc3ho4kTuTMqJ68J4+KEbW+2PDTdQ0c8
1Ta26dZ4wsOHHt4/cdmt32N7MRPvnIdwpQbIhPuVSR+TE9ovrV/a+V/Sj9FpzhQyJRo1z7XOdURd
99MHNA9o79f3SW/T3wvvS2/rTwgnNB8bzLu1v6a/0byk/YVeWKvdqrlVy2UwMyDrnExENl60VYru
1qz2LJpl9EGmu7kmfeTPXbZD6nLOnVhpuXmJZYljuYsn7LiiuxSx4LLAbsOLNjcUvOBszuwafvg/
SCTx6skfJL7sIt6dK1bcd9+KFTup/w6i6Ur88rP/SLx0a3LPj/bs6X54zx623m2Ja/n7cb1m9C8e
UkaNtU6yUkuEqzRUWiNZddxkw2RrXdbfsiTma0QtKW/jtPi3LC2q24V+hUOnM5uM5/yKjJFGoylk
NhNm53R/71lMHarCjTQf/wffQj1PzEYx32K5JeVdqDbKijvJ1px2LjAWumDV24im7Jmr+wlNnO1v
vns6brHjriULb7l90dItuLVNixN/SAwnTifebZgz/AnX3/vkI727H9uFCrkZI9EKde17lPz7BSIZ
ySxhibBW4IotzcZlxnYLL0smvUdP79Yn9bRaP11P9X10nTJSFFG/OaqR80EySyXoJvKSe6Nll4XO
t2y07LMctfAWM4QwgGfrp7QTXXtKMjOq+0k2nHOvzqvz6ZbMqcfBpZ7NIdTuytKUKDqgMeacxb6A
s+94pWNRDj5Vp1ESTlFV8gzSzTR64jV1rdHLL71k/MxiPnT/NXXlX4yq2Zv4D1xjCeqzGddYQF9U
BjQZmoA2z5nhDDxgecB2f959BZJoa7BRyyFDv/GXvo8CZwyn/ZqRhjmGNsN9uvstu/39erEmoOTW
hZb6F4c2WzbbbvdvypUqQvWaBt0Uw3RTg68WY57cvFCFvtzHPPzyXFEjCxmSz2XI0/v9/oCY61cK
V+vX226wXz9ybcEW+60FD9nvK9jv3x8wdJK7nXe4Hiz4aUGsUOP0ORRfIOJQsj0Rj4P80UEcZVpf
U/DuIA0qrpxI0F2ohudoGZsKSUkhKS4khSN8JWZiLiM+9RY2SdWpb4Fydeo2lgwRyAyv72MiP4u3
Jt6qHUNpC6J+Y2Ux0BCkw5RyDSEa4iAh/xhfg282iToXk+XO0xhpOynv9vlpvtWgp/nu+RiZNeTr
mtzE3WAVq4db8IddueegpSOLBVW/Zl6Cry+F/WrQmcvKg72e3FQZY09WVrIwc42BjPE3+B8w3Ov/
uf8tv8bn1xt43g1pPwTKmEfS6yyqJmmnTS37gxE1jsxxoydKUpEk30o6ySnCATGrcSWvUlodSEmI
MhV4Mp8/xVO2BIeCXTvKnAr261SwU6dSXhFxKuFRmARHYoL9mpwe53znSifvnONW0Hqb3KTJnXTT
9OLV0FJ92DfRlg72dXRVqpgSRjoWVC8a6MCnpUV1RXOTryqSzlJtyscE5XDygKFSb9NXsmxcz6LL
T3t0lZD+jUMU7WEqTkQ3JYJRYq4aJ5aVOi4KE9m/TkcfJlRC3JYVi66rCNrskxNPzdvw3kfvvZWf
+DJjfvPKEm92iLwQbf78s3eHSXF45pz87GKv3ZbROGHug12H79o2ekKtxxEYYc9eMqXx9h/8WwzY
P3z8mO4QHsE74TVlpBfQ3ZRHmsYZpxijJjHTDi7OYQenxYpxqIXaiIuTRFnUu5i4TeDsdsacXCui
ASfn7CN83E6YyewFO/utxhqMoHVSsVwM6NnORyuBFEq+iws5LXPs1bZdtn02rtXWadtuO2o7ZRPA
ZrZ5bSU23pbpXt+d/jy9qjFWgXZiPNqJfrAlB1ioeTYVaZo/z2SmZUj9bQiSHkeXMKPMhA+zMcQe
yLCpMnUyobHQOyNQXlYezKA3DujysvOmuBZ+/7IbK3XSzTcTNx8aTMy+JZyd9V5B2Yz60feR1wff
/EliK8rnTrQys/gQ+gcPK87LM5Zm7BQ4SZOpqaJVGY20MeMEFVVvLYPXOUC222yypLHaQnY7MANp
dKhegoMk8cz/Cy9B0p53D7TklJZo/7nTlrpi/s47aPGVa9RllqNroC57zBiW5aaNO7L8mr2XkUzP
zOpJqwpI5q45C6/au5N2J1yDbeOnrz1OBtANwnXq0Q9qxXXqyAPKtnzxFZ4+IPaT98nb4imDoBXd
vEuTr6mAsdpJJEq+T9aKcoiExTFknNhApogP6M5ozohSkA+JBXKEHydP5KfJL/Hay+TZfFRezF8n
ryc3yffyO8WD8tv8+/JZ2cDxIvq3Dt7LF8hlfLXcwEt2PlMeJ0+Tr5F388/xr8qneUnsS57qtbgi
6PYd67U7GR5U7PqMCOFlkQeqIi1IWo7DlgMjiyJJ9ePyoGJy5Ea4EJVslEqCRqdLN5/SEZZVnNis
C4FgAxA0goA3nlaSdIDBzXVxTZmESNFp26YbdhkGDZyBY9W0TMeqLadS4TD7QsVDm/7nqKuZqrK6
WGiTORUjXTUHxak9woR9Fg13nPsymsqdi2WclSkj/azslXzqAuOIQbUrzES0dHSsIiwpI8RntbJv
pRynJxsTO8jlh39BpiQeIFsTu4+9RwOUS7xPchPS8BtkcuI5tqtGjC1n4q5aSWS/JV8gVrZ0lx5j
cwcG6CJLNCwRHFhHmQ563OMiGOzyBp1RY6Zg1fBWynMcQafI2ooXUh/Zp1h0JkOxMR+89hJ7q51j
QYZqsUMRNfawZI+I2Nm3pEpOcWVG2HfmPpKnSFQtUUJZyUIqQckeE0l/57P9PH3iw1OHMzHFH9fw
tPq2uj+jtFZNNX+OceJQS3HqSzPBg65GgSwOrBSNahSY/t1tS2PMjAZjHBqMOG+Gg0ncreSpHs5M
xuITVc2zwD7uGTKqrWZrJiYWV7XA1AwLDMexnOoralXlLRo5DB3z2KGqMGIEf4YEElsnBidevrFp
xrTM2vKFV2XyoWEj/etZ2t+y8BJ/xvuG1VH278/H/F97PyWbyVlylk654F3PPcZeXmavME647Z+/
Go69ooTvl9p12lfOvdIl0rNyGb6P6yfpjxkuY6+xwnj6u/e797v3u/e797v3u/e797v3u/e797v3
f/6m/kBJ+n/q2oBT/66HG0GDmYpQGdc4Z2bzlFmXzyi+bF7wyklzS+pHjsn77/25jP//Hh6a1JRn
8jnlSiYxJSxl/48D0woIQRnKjP31jZnQDFNgFlwOM6AYLoN5EFT/MslcjKfrYSTGjCmxEbCof24H
QAMyQM2q5QuuLaxdee1iNgbZzv4p8v/ho724eApOJS+qSP/vaw37rydpoJXw/wQIv4SdCAsQ7mXA
fwj3/xN4RLMXdpwDYS7cdwFMwfbC/yZsPg+roUaFD2E2wg9wfvf8PWD9DoSZCNsYcDkqXwndCx4s
33keVoMejACpc/QvHrY39M9Le2L7Ds43VX2hzUxt5mMfVql/Kaz/7WetX311dtgMWjvSSuf28n8D
I3ugwQplbmRzdHJlYW0KZW5kb2JqCjExIDAgb2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9u
dE5hbWUvUkRaUlBJK0FyaWFsL0ZvbnRCQm94WzEyIC0xMiA2MjUgNzE4XS9GbGFncyA2NTU0MAov
QXNjZW50IDcxOAovQ2FwSGVpZ2h0IDcxOAovRGVzY2VudCAtMTIKL0l0YWxpY0FuZ2xlIDAKL1N0
ZW1WIDkzCi9NaXNzaW5nV2lkdGggNzUwCi9Gb250RmlsZTIgMTcgMCBSPj4KZW5kb2JqCjE3IDAg
b2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZQovTGVuZ3RoMSAxNDcyMC9MZW5ndGggNzU5OD4+c3Ry
ZWFtCnic7Tt7fJNFtmfm+/Jonl/SJk3TkHxpaICmpVgepVDpV9qCWKA8WmxYaltapFCQYgEFeQTk
WVDQVRTWB7I+QEXSUiAUXKogrijiCsuuT1Dxea3gXsRVIblnvqSF3uu9v/3j/nN/l296Zs6cOTNz
5pwzZ2ZKAQIAeggAB+NKJmZmgfwNnoXZpJrZ1Q3RejYPQMbWLJgnbk57bwESPgJQ9rujYfrstxf6
twKodFi/c/qshXdE+W3tAKa0umnVte885n0QIOcWJA6qQ4K5vzmCEy7Ges+62fPuic13FLOps+bU
VEfrfb5DHuvs6nsatCN1OxDfhkTxzurZ02L8pZglNsxpnBet5/Rm7Q13TWuYED76DfLj/JqIog2S
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
a+vlX3ZfnS6AWofVuE7Z/wOvyJ/oCmVuZHN0cmVhbQplbmRvYmoKMTMgMCBvYmoKPDwvVHlwZS9G
b250RGVzY3JpcHRvci9Gb250TmFtZS9LUFNIQk8rVGltZXNOZXdSb21hbi9Gb250QkJveFswIDAg
NjM4IDYyNV0vRmxhZ3MgNjU1NDAKL0FzY2VudCA2MjUKL0NhcEhlaWdodCA2MjUKL0Rlc2NlbnQg
MAovSXRhbGljQW5nbGUgMAovU3RlbVYgOTUKL01pc3NpbmdXaWR0aCA3NzcKL0ZvbnRGaWxlMiAx
OCAwIFI+PgplbmRvYmoKMTggMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlCi9MZW5ndGgxIDEx
NzQ0L0xlbmd0aCA1NDU3Pj5zdHJlYW0KeJztWnt4VNW1X3vvc2YmCZMM4ZFAgDOTk4HATEwIKhCm
ZPKY8BiEAAFmqDWThPASTDQJVgsGa1EMKFSpj1YBtTwqWE4mYhO0Em21V60F66PqtYJXrNbWSn3d
tkLO/e0zEyT387u39/vuf+XsrLX2XmvtvdZee5199k5CjIictJEEVc9bWFhM1lPgBlrcsLauOdH2
9RKxQMO6Vven/jdvBOMtIvuzy5tXrP3F3tEYwfFjItvEFWuuW57QH1MEtG5lY92yY98c/V2Mtx/t
S1eCkflx5hdE6a+jnbdybeu3k/Ykda1paqhL9oe+c/jaum83O5nrp9A/A6b7qrq1jQm5X7Y9zU0t
rcn+m6W8+ZrG5lNTdsCXjFGAIertROoc0gCjxA7KITLfAZwCfNA32zyjXkl632rzpBiC3o8kgchL
d9EuyqPTbCI9Tb00m/ZSGVXTDppBx+gQpdN17AVSSKdK2k9ephGnKspiKt1Lb9DldA29Rycpn8L0
NsvEOCFqpuE01fwjcJg2mz3QSqUK+ikdYWvYQipEfSb3Mx8sbzN7KYvyzRfN19G6n95jeWYnzUTt
DzSYxlE7fZ8yaTU9b8oI5FE97WPr2R/JQzHaolysdJhX0jQ6TK+yMGqX0XXq6ymHaQ16PcSyWK95
wnyfnlQYNWKk79JmeBynXn6RqFB3k5vG0jdoLtVB+h16gw1hE0XQHGeWm/eCu48+4T7+rLDDDx/N
olq6jR5ANF6jU/Q5S2OXsPvZAZSX2F9UubphaqPrkVf3I3r76CD1sIlsIs/iWYhWFo2nRZBtoz2w
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
4W5t8flIgkxwrABUfWxg3hNraSOEAgsCAiWL2yK7tUn6lSL24FG4IY+Sp2XcmS/r5Oxx/iSOqXZ+
NE6q0s2ffFRQql1WDjMa4bCpRyHnJNh4SmFXsiso2+f6InA2MNf1WeCyswEqRd11BmhikWewZ7AX
iI1S6Ixb9J4JqvQluZVe674+7UK5UC6UC+VCuVAulAvlQrlQLpQL5V+4yIcn/7I5VP6xi4iNBMj/
0xL0r/0olGth6++8p5lp9mP5y0VKxIdRpvxXPtRslEFUs2ptY4t7buO17gVNa+uuIkuD2Hb5x6F/
8nEMbJ6m0+YARvKv0LapbFQ/SPP/62qxhE6ncehIbUbgc8eIhKEH3x39tKQ9rx7O/7L17FYXOdLR
TOm3818NOYC5CmVuZHN0cmVhbQplbmRvYmoKMjIgMCBvYmoKPDwvVHlwZS9NZXRhZGF0YQovU3Vi
dHlwZS9YTUwvTGVuZ3RoIDE0NDM+PnN0cmVhbQo8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1
TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pgo8P2Fkb2JlLXhhcC1maWx0ZXJzIGVzYz0iQ1JMRiI/
Pgo8eDp4bXBtZXRhIHhtbG5zOng9J2Fkb2JlOm5zOm1ldGEvJyB4OnhtcHRrPSdYTVAgdG9vbGtp
dCAyLjkuMS0xMywgZnJhbWV3b3JrIDEuNic+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3
dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIycgeG1sbnM6aVg9J2h0dHA6Ly9ucy5h
ZG9iZS5jb20vaVgvMS4wLyc+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSc2ODkyYmMzMi1i
YzczLTExZGUtMDAwMC1lYmUzNDIyZWUxZDknIHhtbG5zOnBkZj0naHR0cDovL25zLmFkb2JlLmNv
bS9wZGYvMS4zLycgcGRmOlByb2R1Y2VyPSdCdWxsemlwIFBERiBQcmludGVyIC8gd3d3LmJ1bGx6
aXAuY29tIC8gRnJlZXdhcmUgRWRpdGlvbiBcKG5vdCByZWdpc3RlcmVkXCknLz4KPHJkZjpEZXNj
cmlwdGlvbiByZGY6YWJvdXQ9JzY4OTJiYzMyLWJjNzMtMTFkZS0wMDAwLWViZTM0MjJlZTFkOScg
eG1sbnM6eG1wPSdodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvJz48eG1wOk1vZGlmeURhdGU+
MjAwOS0xMC0xNVQyMjo1MToxMi0wNzowMDwveG1wOk1vZGlmeURhdGU+Cjx4bXA6Q3JlYXRlRGF0
ZT4yMDA5LTEwLTE1VDIyOjUxOjEyLTA3OjAwPC94bXA6Q3JlYXRlRGF0ZT4KPHhtcDpDcmVhdG9y
VG9vbD5QU2NyaXB0NS5kbGwgVmVyc2lvbiA1LjIuMjwveG1wOkNyZWF0b3JUb29sPjwvcmRmOkRl
c2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nNjg5MmJjMzItYmM3My0xMWRl
LTAwMDAtZWJlMzQyMmVlMWQ5JyB4bWxuczp4YXBNTT0naHR0cDovL25zLmFkb2JlLmNvbS94YXAv
MS4wL21tLycgeGFwTU06RG9jdW1lbnRJRD0nNjg5MmJjMzItYmM3My0xMWRlLTAwMDAtZWJlMzQy
MmVlMWQ5Jy8+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSc2ODkyYmMzMi1iYzczLTExZGUt
MDAwMC1lYmUzNDIyZWUxZDknIHhtbG5zOmRjPSdodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMv
MS4xLycgZGM6Zm9ybWF0PSdhcHBsaWNhdGlvbi9wZGYnPjxkYzp0aXRsZT48cmRmOkFsdD48cmRm
OmxpIHhtbDpsYW5nPSd4LWRlZmF1bHQnPigpPC9yZGY6bGk+PC9yZGY6QWx0PjwvZGM6dGl0bGU+
PGRjOmNyZWF0b3I+PHJkZjpTZXE+PHJkZjpsaT5YNzM4ODg8L3JkZjpsaT48L3JkZjpTZXE+PC9k
YzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9J3cnPz4KZW5kc3RyZWFt
CmVuZG9iagoyIDAgb2JqCjw8L1Byb2R1Y2VyKEJ1bGx6aXAgUERGIFByaW50ZXIgLyB3d3cuYnVs
bHppcC5jb20gLyBGcmVld2FyZSBFZGl0aW9uIFwobm90IHJlZ2lzdGVyZWRcKSkKL0NyZWF0aW9u
RGF0ZShEOjIwMDkxMDE1MjI1MTEyLTA3JzAwJykKL01vZERhdGUoRDoyMDA5MTAxNTIyNTExMi0w
NycwMCcpCi9BdXRob3IoWDczODg4KQovVGl0bGUoKQovQ3JlYXRvcihQU2NyaXB0NS5kbGwgVmVy
c2lvbiA1LjIuMik+PmVuZG9iagp4cmVmCjAgMjMKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDEx
MjczIDAwMDAwIG4gCjAwMDAwMzkyMjQgMDAwMDAgbiAKMDAwMDAxMTIxNCAwMDAwMCBuIAowMDAw
MDExMDU0IDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAxMTAzMyAwMDAwMCBuIAow
MDAwMDExMzYzIDAwMDAwIG4gCjAwMDAwMTE0ODYgMDAwMDAgbiAKMDAwMDAxMjQxNCAwMDAwMCBu
IAowMDAwMDExODYxIDAwMDAwIG4gCjAwMDAwMjQwNzYgMDAwMDAgbiAKMDAwMDAxMjE3NCAwMDAw
MCBuIAowMDAwMDMxOTU5IDAwMDAwIG4gCjAwMDAwMTE0MDQgMDAwMDAgbiAKMDAwMDAxMTQzNCAw
MDAwMCBuIAowMDAwMDEyNjMwIDAwMDAwIG4gCjAwMDAwMjQyNzcgMDAwMDAgbiAKMDAwMDAzMjE2
MyAwMDAwMCBuIAowMDAwMDExNzI4IDAwMDAwIG4gCjAwMDAwMTIwNDQgMDAwMDAgbiAKMDAwMDAx
MjMyOCAwMDAwMCBuIAowMDAwMDM3NzA0IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMjMgL1Jv
b3QgMSAwIFIgL0luZm8gMiAwIFIKL0lEIFs8MUZCNEIwMUE3OThFNjYzMTQ5NjM3MjUwMzc4RTAy
MkI+PDFGQjRCMDFBNzk4RTY2MzE0OTYzNzI1MDM3OEUwMjJCPl0KPj4Kc3RhcnR4cmVmCjM5NDY0
CiUlRU9GCg==

--Apple-Mail-3-342453490
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=us-ascii;
	format=flowed


--
David Kelly N4HHE, dkelly@HiWAAY.net
========================================================================
Whom computers would destroy, they must first drive mad.




--Apple-Mail-3-342453490--

From owner-freebsd-performance@FreeBSD.ORG  Fri Oct 16 11:53:57 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 3ABE91065672
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 11:53:57 +0000 (UTC)
	(envelope-from wmoran@collaborativefusion.com)
Received: from mx00.pub.collaborativefusion.com
	(mx00.pub.collaborativefusion.com [206.210.89.199])
	by mx1.freebsd.org (Postfix) with ESMTP id 03AD88FC12
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 11:53:56 +0000 (UTC)
Received: from working (pool-74-109-205-132.pitbpa.ftas.verizon.net
	[74.109.205.132])
	(AUTH: LOGIN wmoran, SSL: TLSv1/SSLv3,256bits,AES256-SHA)
	by wingspan with esmtp; Fri, 16 Oct 2009 07:53:55 -0400
	id 00056413.000000004AD85ED3.00003584
Date: Fri, 16 Oct 2009 07:53:36 -0400
From: Bill Moran <wmoran@collaborativefusion.com>
To: Steve Dong <sdong@huawei.com>
Message-Id: <20091016075336.03eb17f2.wmoran@collaborativefusion.com>
In-Reply-To: <001c01ca4e24$f10f6e70$3322c10a@china.huawei.com>
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
	<b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
	<4831593800614E6796A45F20BA4B818E@china.huawei.com>
	<001301ca4e23$b96e35b0$3322c10a@china.huawei.com>
	<001c01ca4e24$f10f6e70$3322c10a@china.huawei.com>
Organization: Collaborative Fusion Inc.
X-Mailer: Sylpheed 2.7.1 (GTK+ 2.16.6; i386-portbld-freebsd7.2)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Cc: freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Oct 2009 11:53:57 -0000

Steve Dong <sdong@huawei.com> wrote:
>
> It looks the jpeg attachments were somehow dropped. Trying again with pdf
> attachment. Hopefully it works this time. 

Really.  Don't post attachments to mailing lists.  It's just a bad idea,
a lot of people will be upset with the bandwidth it consumes.  Keep in
mind that not everyone on the list is interested in every conversation.

-- 
Bill Moran
Collaborative Fusion Inc.

wmoran@collaborativefusion.com
Phone: 412-422-3463x4023

****************************************************************
IMPORTANT: This message contains confidential information
and is intended only for the individual named. If the reader of
this message is not an intended recipient (or the individual
responsible for the delivery of this message to an intended
recipient), please be advised that any re-use, dissemination,
distribution or copying of this message is prohibited. Please
notify the sender immediately by e-mail if you have received
this e-mail by mistake and delete this e-mail from your system.
E-mail transmission cannot be guaranteed to be secure or
error-free as information could be intercepted, corrupted, lost,
destroyed, arrive late or incomplete, or contain viruses. The
sender therefore does not accept liability for any errors or
omissions in the contents of this message, which arise as a
result of e-mail transmission.
****************************************************************

From owner-freebsd-performance@FreeBSD.ORG  Fri Oct 16 12:24:43 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 8621E106566C
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 12:24:43 +0000 (UTC)
	(envelope-from kometen@gmail.com)
Received: from mail-yx0-f171.google.com (mail-yx0-f171.google.com
	[209.85.210.171])
	by mx1.freebsd.org (Postfix) with ESMTP id 3C14E8FC14
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 12:24:43 +0000 (UTC)
Received: by yxe1 with SMTP id 1so1799153yxe.3
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 05:24:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=domainkey-signature:mime-version:received:in-reply-to:references
	:date:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	bh=fphDQ7R6PgMhRjRtBMTyfhS6mq7A0JFRm8T4bQmeZIY=;
	b=ZLSmKb1CvKEzFiYEZ0S+ROaKtB/uaGCD6hA8NIJEJwlk8okByb9kS4QZNwVi+8voX8
	K1gskBBCp+sjcI1Ehb/J9NP7vaCe7iPmJVkXIBpWk9jU5CrhCmNapf8rO5c2JhmRy0TC
	+FlgCeOO1dErVWaKMAg3EJZWbrN+HIVEjrpA8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type:content-transfer-encoding;
	b=f8p1S8FjcNuG3vWcveh6EaMx4CvGSQHqR73jUsTlEPLgO3cdGQcSaK8lXw6Ovq04dt
	YgY/O3fRs+BMHUo+laZJsbrfxgE+HUnMCD+jbDOIGejnGkUgo2RmA8vXzm1zzLD6pW3x
	AFExbA5e2fjA2x3Ys3SWh2PG8vBkiH/QoJWpU=
MIME-Version: 1.0
Received: by 10.150.130.36 with SMTP id c36mr2530619ybd.290.1255694496877; 
	Fri, 16 Oct 2009 05:01:36 -0700 (PDT)
In-Reply-To: <20091016075336.03eb17f2.wmoran@collaborativefusion.com>
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
	<b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
	<4831593800614E6796A45F20BA4B818E@china.huawei.com>
	<001301ca4e23$b96e35b0$3322c10a@china.huawei.com>
	<001c01ca4e24$f10f6e70$3322c10a@china.huawei.com>
	<20091016075336.03eb17f2.wmoran@collaborativefusion.com>
Date: Fri, 16 Oct 2009 14:01:36 +0200
Message-ID: <b41c75520910160501g18e7664dxa11e5a72dc13d8e9@mail.gmail.com>
From: Claus Guttesen <kometen@gmail.com>
To: Bill Moran <wmoran@collaborativefusion.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Oct 2009 12:24:43 -0000

> Really. =A0Don't post attachments to mailing lists. =A0It's just a bad id=
ea,
> a lot of people will be upset with the bandwidth it consumes. =A0Keep in
> mind that not everyone on the list is interested in every conversation.

Disclaimers should go the same way too! :)

echo "
****************************************************************
IMPORTANT: This message contains confidential information
and is intended only for the individual named. If the reader of
this message is not an intended recipient (or the individual
responsible for the delivery of this message to an intended
recipient), please be advised that any re-use, dissemination,
distribution or copying of this message is prohibited. Please
notify the sender immediately by e-mail if you have received
this e-mail by mistake and delete this e-mail from your system.
E-mail transmission cannot be guaranteed to be secure or
error-free as information could be intercepted, corrupted, lost,
destroyed, arrive late or incomplete, or contain viruses. The
sender therefore does not accept liability for any errors or
omissions in the contents of this message, which arise as a
result of e-mail transmission.
****************************************************************" | wc
      16     129     958

--=20
regards
Claus

When lenity and cruelty play for a kingdom,
the gentler gamester is the soonest winner.

Shakespeare

twitter.com/kometen

From owner-freebsd-performance@FreeBSD.ORG  Fri Oct 16 12:28:39 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id AB9641065676
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 12:28:39 +0000 (UTC)
	(envelope-from leccine@gmail.com)
Received: from mail-fx0-f210.google.com (mail-fx0-f210.google.com
	[209.85.220.210])
	by mx1.freebsd.org (Postfix) with ESMTP id E31F98FC16
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 12:28:38 +0000 (UTC)
Received: by fxm6 with SMTP id 6so2288150fxm.43
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 05:28:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=domainkey-signature:mime-version:received:in-reply-to:references
	:date:message-id:subject:from:to:cc:content-type;
	bh=oQT6J8OTjS5g2tR42fIckLbXcBmG55DKoqWRzFHxeDQ=;
	b=rVkE6Q/DQCPEo+D8Me+NfizLqBt1TUl0EL2iHn2udH5NsP2jYTtX/RJ+PBJpQkkY86
	VK5wCetc5iYWHkBKWntPJfReUxbEOsaeTbVudVuEpunOrVxYKDwipQlPTeXr01j/PMlg
	E+eBr5AqqgFbUOvG+uoulgKAEPoBOlR3av54E=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	b=pJzwoXpt9c8U6WL80vEg+QXNvZ+tGkn1W5qFUEjKMjA4cFOtQq95m5R6LWEclQgUEC
	G1Oz042II03sAaw/PO6Lt1mGsUP0t1Rf9sc4H+FF8QAtCdANoTf6i8XC7cowycFLncVN
	eCDeRTIpTes0mSYnltOZz5g3CSDO50D37/Lzk=
MIME-Version: 1.0
Received: by 10.204.154.142 with SMTP id o14mr1220705bkw.125.1255696117667; 
	Fri, 16 Oct 2009 05:28:37 -0700 (PDT)
In-Reply-To: <4831593800614E6796A45F20BA4B818E@china.huawei.com>
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
	<b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
	<4831593800614E6796A45F20BA4B818E@china.huawei.com>
Date: Fri, 16 Oct 2009 13:28:37 +0100
Message-ID: <b8592ed80910160528h604efc27w87c11a0593ce9fe8@mail.gmail.com>
From: =?ISO-8859-1?B?SXN0duFu?= <leccine@gmail.com>
To: Hongtao Yin <htyin@huawei.com>
Content-Type: text/plain; charset=GB2312
Content-Transfer-Encoding: quoted-printable
X-Content-Filtered-By: Mailman/MimeDel 2.1.5
Cc: freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Oct 2009 12:28:39 -0000

I see.
It shows that linux default setup is better.

Have you seen any FreeBSD performance tuning guides?

Regards,
Istvan

2009/10/16 Hongtao Yin <htyin@huawei.com>

>  Istvan,
>
>
>
> I ran newer FreeBSD code 8.0 RC1 this time. By using NetPIPE, we collecte=
d
> test data and the result shows that FreeBSD TCP performance is worse than
> Linux. I got troubles to plot using gnuplot, so here I am attaching the r=
aw
> data files.
>
> The netpipe commands are as follows:
>
> PC2: #NPtcp
>
> PC1: #NPtcp =A8Ch 192.168.1.20
>
>
>
> Regards,
>
> Hongtao
>
>
>
>
>
>
>  ------------------------------
>
> *From:* Istv=A8=A2n [mailto:leccine@gmail.com]
> *Sent:* 2009=C4=EA10=D4=C215=C8=D5 5:13
>
> *To:* Hongtao Yin
> *Cc:* freebsd-performance@freebsd.org
> *Subject:* Re: Comparison of FreeBSD/Linux TCP Throughput performance
>
>
>
> use netpipe TCP pls.
>
>
>
> And graph it.
>
>
>
> Thanks in advance,
>
> Istvan
>
> On Thu, Oct 15, 2009 at 2:42 AM, Hongtao Yin <htyin@huawei.com> wrote:
>
> Hi,
>
>
>
> I compared TCP performance between FreeBSD and Linux by running test tool=
s
> Netperf and Iperf with Intel NIC.
>
> The kernels are full version and default values are used in the testing
> except TCP Congestion Control algorithm set to Reno.
>
> >From the test results we can see Linux TCP performance in throughput is
> better than FreeBSD. The worst case (send msg size 128) shows that FreeBS=
D
> throughput is only 43% of Linux's.
>
>
>
> I like to get some feedback if anyone did similar comparison test, or kno=
ws
> any issues with kernels or drivers. Thanks lot.
>
>
>
> FreeBSD and Linux Sysctl captures are attached for reference.
>
>
>
> Regards,
>
> Hongtao
>
>
>
>
>
>
>
> Test Environments:
>
> PC: Dell Precision T3400 (same 4 PCs)
>
> CPU: Intel Core 2 Duo CPU E4600@2.4Ghz
>
> FreeBSD: V7.1 (full version) (TCP CC: newReno)
>
> Linux: V2.6.31.1 (full version) (TCP CC: Reno)
>
> Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter
> (Gigabit)
> chip 82546EB (only one port used for each PC)
>
> Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108)
>
> Iperf: V2.0.4
>
> Netperf: V2.4.4
>
>
>
> Setup:
>
>
>
>
>
>                                  ----------
>
>                                  | switch |
>
>                                  ----------
>
>               ---------------------| | | |--------------------
>
>               |                      | |                     |
>
>               |              --------| |--------             |
>
>               |              |                 |             |
>
>               |              |                 |             |
>
>        --------------  --------------  --------------  --------------
>
>        |     PC1    |  |    PC2     |  |    PC3     |  |    PC4     |
>
>        |   FreeBSD  |  |   FreeBSD  |  |   Linux    |  |   Linux    |
>
>        |192.168.1.10|  |192.168.1.20|  |192.168.1.30|  |192.168.1.40|
>
>        --------------  --------------  --------------  --------------
>
>
>
>
>
>
>
>
>
>
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D
>
>     Netperf Test Results
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D
>
>
>
> TCP Throughput Test
>
> -------------------
>
>
>
> PC2/4: #netserver -p 22113
>
> PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10
>
>
>
>          Recv             Send            Send           Elapsed
> Throughput
>
>          Socket           Socket          Message        Time
> 10^6 bits/sec
>
>          Size             Size            Size           Sec.
>
>          bytes            bytes           bytes
>
> FreeBSD:  65536            32768           32768          10.34
> 598.11
>
> Linux:    87380            16384           16384          10.04
> 779.02
>
>
>
>
>
> PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m
> 64/128/256/512/1024/2048/4096
>
>
>
>          Recv             Send            Send           Elapsed
> Throughput
>
>          Socket           Socket          Message        Time
> 10^6 bits/sec
>
>          Size             Size            Size           Sec.
>
>          bytes            bytes           bytes
>
> FreeBSD:  65536            32768           64              10.19
> 417.10
>
>          65536            32768           128             10.35
> 336.63
>
>          65536            32768           256             10.36
> 576.99
>
>          65536            32768           512             10.35
> 569.79
>
>          65536            32768           1024            10.35
> 553.70
>
>          65536            32768           2048            10.35
> 584.20
>
>          65536            32768           4096            10.35
> 602.45
>
>
>
> Linux:    87380            16384           64              10.03
> 778.21
>
>          87380            16384           128             10.03
> 779.72
>
>          87380            16384           256             10.04
> 780.16
>
>          87380            16384           512             10.03
> 776.85
>
>          87380            16384           1024            10.04
> 777.52
>
>          87380            16384           2048            10.04
> 777.83
>
>          87380            16384           4096            10.03
> 780.17
>
>
>
>
>
>
>
>
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D
>
>      Iperf Test Results
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D
>
>
>
> Bandwidth Test
>
> --------------
>
>
>
> PC2/4: #iperf -s
>
> PC1/3: #iperf -c 192.168.1.20
>
>
>
>           Interval        Transfer        Bandwidth
>
>           sec             MBytes          Mbits/sec
>
> FreeBSD:   0.0-10.3        740             600
>
> Linux:     0.0-10.0        972             815
>
>
>
>
>
> PC1/3: #iperf -c 192.168.1.20 -d
>
>
>
>           Interval        Transfer        Bandwidth
>
>           sec             MBytes          Mbits/sec
>
> FreeBSD:   0.0-10.0        402             337
>
>           0.0-10.0        404             338
>
>
>
> Linux:     0.0-10.0        926             776
>
>           0.0-10.0        44.1            36.9
>
>
>
>
>
> Parallel Test
>
> -------------
>
>
>
> PC2/4: #iperf -s
>
> PC1/3: #iperf -c 192.168.1.20 -P 2
>
>
>
>           Interval        Transfer        Bandwidth
>
>           sec             MBytes          Mbits/sec
>
> FreeBSD:   0.0-10.3        370             300
>
>           0.0-10.3        370             300
>
>      SUM: 0.0-10.3        739             600
>
>
>
> Linux:     0.0-10.0        479             402
>
>           0.0-10.0        473             396
>
>      SUM: 0.0-10.0        952             797
>
>
>
>
>
>
>
>
> _______________________________________________
> freebsd-performance@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-performance
> To unsubscribe, send any mail to "
> freebsd-performance-unsubscribe@freebsd.org"
>
>
>
>
> --
> the sun shines for all
>



--=20
the sun shines for all

From owner-freebsd-performance@FreeBSD.ORG  Fri Oct 16 12:29:31 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 87C291065692
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 12:29:31 +0000 (UTC)
	(envelope-from leccine@gmail.com)
Received: from mail-fx0-f210.google.com (mail-fx0-f210.google.com
	[209.85.220.210])
	by mx1.freebsd.org (Postfix) with ESMTP id BF0218FC21
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 12:29:30 +0000 (UTC)
Received: by fxm6 with SMTP id 6so2289107fxm.43
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 05:29:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=domainkey-signature:mime-version:received:in-reply-to:references
	:date:message-id:subject:from:to:cc:content-type;
	bh=TRTLpVoduer90gE8D2J5Sb1JVWR+nT377Oodw0HLlRA=;
	b=cdHlhWnechOTMJLsN3J8bjpYA3UTGG893HdVjuRRkATZ6sl5lOBNue1ggtmHKceF++
	9VIT+C0ckH9e6a4clqWRNrEVGT1ATNKKVK3iaf3PfExubbmO3ILroJnQxpcq/6kofTPb
	I0CXufAqA6lnmq1wTquM9Ufgh5N+bAawRm/80=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	b=QYpJRQXmclSPNppPJOSU9F+vV2hYBvF3PW0CSwmgPB4nU1McI1L0O02juzLkApEahB
	S40w/ERtfNAL5MTLPH8IEib9Wnku/EOPmxOQuQ4MwbDfIM6s9/E3NU5hu6VO2FWgoAUN
	ZUJpK4G/s+C6yROYlDWDEfZjlGjHcCnk4Mcbo=
MIME-Version: 1.0
Received: by 10.204.24.69 with SMTP id u5mr1274713bkb.1.1255696169408; Fri, 16 
	Oct 2009 05:29:29 -0700 (PDT)
In-Reply-To: <001301ca4e23$b96e35b0$3322c10a@china.huawei.com>
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
	<b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
	<4831593800614E6796A45F20BA4B818E@china.huawei.com>
	<001301ca4e23$b96e35b0$3322c10a@china.huawei.com>
Date: Fri, 16 Oct 2009 13:29:29 +0100
Message-ID: <b8592ed80910160529x3b01f7b8h16eebb6b2ad6e24d@mail.gmail.com>
From: =?ISO-8859-1?B?SXN0duFu?= <leccine@gmail.com>
To: Steve Dong <sdong@huawei.com>
Content-Type: text/plain; charset=GB2312
Content-Transfer-Encoding: quoted-printable
X-Content-Filtered-By: Mailman/MimeDel 2.1.5
Cc: Hongtao Yin <htyin@huawei.com>, freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Oct 2009 12:29:31 -0000

Thanks!
Regards,

Istvan

2009/10/16 Steve Dong <sdong@huawei.com>

> Here are graphs from the netpipe test results with 8.0 RC1
>
>
> Thanks,
> Steve
>
>
>
> -----Original Message-----
> From: owner-freebsd-performance@freebsd.org
> [mailto:owner-freebsd-performance@freebsd.org] On Behalf Of Hongtao Yin
> Sent: Thursday, October 15, 2009 8:52 PM
> To: 'Istv=A8=A2n'
> Cc: freebsd-performance@freebsd.org
> Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance
>
> Istvan,
>
>
>
> I ran newer FreeBSD code 8.0 RC1 this time. By using NetPIPE, we collecte=
d
> test data and the result shows that FreeBSD TCP performance is worse than
> Linux. I got troubles to plot using gnuplot, so here I am attaching the r=
aw
> data files.
>
> The netpipe commands are as follows:
>
> PC2: #NPtcp
>
> PC1: #NPtcp =A8Ch 192.168.1.20
>
>
>
> Regards,
>
> Hongtao
>
>
>
>
>
>
>
>  _____
>
> From: Istv=A8=A2n [mailto:leccine@gmail.com]
> Sent: 2009=C4=EA10=D4=C215=C8=D5 5:13
> To: Hongtao Yin
> Cc: freebsd-performance@freebsd.org
> Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance
>
>
>
> use netpipe TCP pls.
>
>
>
> And graph it.
>
>
>
> Thanks in advance,
>
> Istvan
>
> On Thu, Oct 15, 2009 at 2:42 AM, Hongtao Yin <htyin@huawei.com> wrote:
>
> Hi,
>
>
>
> I compared TCP performance between FreeBSD and Linux by running test tool=
s
> Netperf and Iperf with Intel NIC.
>
> The kernels are full version and default values are used in the testing
> except TCP Congestion Control algorithm set to Reno.
>
> >From the test results we can see Linux TCP performance in throughput is
> better than FreeBSD. The worst case (send msg size 128) shows that FreeBS=
D
> throughput is only 43% of Linux's.
>
>
>
> I like to get some feedback if anyone did similar comparison test, or kno=
ws
> any issues with kernels or drivers. Thanks lot.
>
>
>
> FreeBSD and Linux Sysctl captures are attached for reference.
>
>
>
> Regards,
>
> Hongtao
>
>
>
>
>
>
>
> Test Environments:
>
> PC: Dell Precision T3400 (same 4 PCs)
>
> CPU: Intel Core 2 Duo CPU E4600@2.4Ghz
>
> FreeBSD: V7.1 (full version) (TCP CC: newReno)
>
> Linux: V2.6.31.1 (full version) (TCP CC: Reno)
>
> Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter
> (Gigabit)
> chip 82546EB (only one port used for each PC)
>
> Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108)
>
> Iperf: V2.0.4
>
> Netperf: V2.4.4
>
>
>
> Setup:
>
>
>
>
>
>                                 ----------
>
>                                 | switch |
>
>                                 ----------
>
>              ---------------------| | | |--------------------
>
>              |                      | |                     |
>
>              |              --------| |--------             |
>
>              |              |                 |             |
>
>              |              |                 |             |
>
>       --------------  --------------  --------------  --------------
>
>       |     PC1    |  |    PC2     |  |    PC3     |  |    PC4     |
>
>       |   FreeBSD  |  |   FreeBSD  |  |   Linux    |  |   Linux    |
>
>       |192.168.1.10|  |192.168.1.20|  |192.168.1.30|  |192.168.1.40|
>
>       --------------  --------------  --------------  --------------
>
>
>
>
>
>
>
>
>
>
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D
>
>    Netperf Test Results
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D
>
>
>
> TCP Throughput Test
>
> -------------------
>
>
>
> PC2/4: #netserver -p 22113
>
> PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10
>
>
>
>         Recv             Send            Send           Elapsed
> Throughput
>
>         Socket           Socket          Message        Time
> 10^6 bits/sec
>
>         Size             Size            Size           Sec.
>
>         bytes            bytes           bytes
>
> FreeBSD:  65536            32768           32768          10.34
> 598.11
>
> Linux:    87380            16384           16384          10.04
> 779.02
>
>
>
>
>
> PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m
> 64/128/256/512/1024/2048/4096
>
>
>
>         Recv             Send            Send           Elapsed
> Throughput
>
>         Socket           Socket          Message        Time
> 10^6 bits/sec
>
>         Size             Size            Size           Sec.
>
>         bytes            bytes           bytes
>
> FreeBSD:  65536            32768           64              10.19
> 417.10
>
>         65536            32768           128             10.35
> 336.63
>
>         65536            32768           256             10.36
> 576.99
>
>         65536            32768           512             10.35
> 569.79
>
>         65536            32768           1024            10.35
> 553.70
>
>         65536            32768           2048            10.35
> 584.20
>
>         65536            32768           4096            10.35
> 602.45
>
>
>
> Linux:    87380            16384           64              10.03
> 778.21
>
>         87380            16384           128             10.03
> 779.72
>
>         87380            16384           256             10.04
> 780.16
>
>         87380            16384           512             10.03
> 776.85
>
>         87380            16384           1024            10.04
> 777.52
>
>         87380            16384           2048            10.04
> 777.83
>
>         87380            16384           4096            10.03
> 780.17
>
>
>
>
>
>
>
>
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D
>
>     Iperf Test Results
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D
>
>
>
> Bandwidth Test
>
> --------------
>
>
>
> PC2/4: #iperf -s
>
> PC1/3: #iperf -c 192.168.1.20
>
>
>
>          Interval        Transfer        Bandwidth
>
>          sec             MBytes          Mbits/sec
>
> FreeBSD:   0.0-10.3        740             600
>
> Linux:     0.0-10.0        972             815
>
>
>
>
>
> PC1/3: #iperf -c 192.168.1.20 -d
>
>
>
>          Interval        Transfer        Bandwidth
>
>          sec             MBytes          Mbits/sec
>
> FreeBSD:   0.0-10.0        402             337
>
>          0.0-10.0        404             338
>
>
>
> Linux:     0.0-10.0        926             776
>
>          0.0-10.0        44.1            36.9
>
>
>
>
>
> Parallel Test
>
> -------------
>
>
>
> PC2/4: #iperf -s
>
> PC1/3: #iperf -c 192.168.1.20 -P 2
>
>
>
>          Interval        Transfer        Bandwidth
>
>          sec             MBytes          Mbits/sec
>
> FreeBSD:   0.0-10.3        370             300
>
>          0.0-10.3        370             300
>
>     SUM: 0.0-10.3        739             600
>
>
>
> Linux:     0.0-10.0        479             402
>
>          0.0-10.0        473             396
>
>     SUM: 0.0-10.0        952             797
>
>
>
>
>
>
>
>
> _______________________________________________
> freebsd-performance@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-performance
> To unsubscribe, send any mail to
> "freebsd-performance-unsubscribe@freebsd.org"
>
>
>
>
> --
> the sun shines for all
>
>


--=20
the sun shines for all

From owner-freebsd-performance@FreeBSD.ORG  Fri Oct 16 18:57:01 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 48CFD1065672
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 18:57:01 +0000 (UTC)
	(envelope-from lists@stringsutils.com)
Received: from zoraida.natserv.net (p65-147.acedsl.com [66.114.65.147])
	by mx1.freebsd.org (Postfix) with ESMTP id 176488FC24
	for <freebsd-performance@freebsd.org>;
	Fri, 16 Oct 2009 18:57:00 +0000 (UTC)
Received: from zoraida.natserv.net (zoraida.natserv.net [66.114.65.147])
	by zoraida.natserv.net (Postfix) with ESMTP id EA8181704F;
	Fri, 16 Oct 2009 14:56:59 -0400 (EDT)
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
	<b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
	<4831593800614E6796A45F20BA4B818E@china.huawei.com>
Message-ID: <cone.1255719419.800821.43122.1000@zoraida.natserv.net>
X-Mailer: http://www.courier-mta.org/cone/
From: Francisco Reyes <lists@stringsutils.com>
To: Hongtao Yin <htyin@huawei.com>
Date: Fri, 16 Oct 2009 14:56:59 -0400
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="US-ASCII"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
Cc: =?ISO-8859-1?B?J0lzdHY/bic=?= <leccine@gmail.com>,
	freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Oct 2009 18:57:01 -0000

Hongtao Yin writes:

> I ran newer FreeBSD code 8.0 RC1 this time. By using NetPIPE, we collected

Check
man tuning

There are a few parameters there worth exploring.
For example check the section on net.inet.tcp.sendspace and 
net.inet.tcp.recvspace

From owner-freebsd-performance@FreeBSD.ORG  Sat Oct 17 02:08:49 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 93E44106566C
	for <freebsd-performance@freebsd.org>;
	Sat, 17 Oct 2009 02:08:49 +0000 (UTC)
	(envelope-from htyin@huawei.com)
Received: from usaga02-in.huawei.com (usaga02-in.huawei.com [206.16.17.70])
	by mx1.freebsd.org (Postfix) with ESMTP id 621AA8FC20
	for <freebsd-performance@freebsd.org>;
	Sat, 17 Oct 2009 02:08:49 +0000 (UTC)
Received: from huawei.com (localhost [127.0.0.1])
	by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14
	(built Aug
	8 2006)) with ESMTP id <0KRM001E1ZANG1@usaga02-in.huawei.com> for
	freebsd-performance@freebsd.org; Fri, 16 Oct 2009 19:08:48 -0700 (PDT)
Received: from Hongtao1SC ([10.193.34.152])
	by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14
	(built Aug
	8 2006)) with ESMTPA id <0KRM00KRSZAG2X@usaga02-in.huawei.com> for
	freebsd-performance@freebsd.org; Fri, 16 Oct 2009 19:08:47 -0700 (PDT)
Date: Fri, 16 Oct 2009 19:08:39 -0700
From: Hongtao Yin <htyin@huawei.com>
In-reply-to: <b8592ed80910160528h604efc27w87c11a0593ce9fe8@mail.gmail.com>
To: =?gb2312?B?J0lzdHaoom4n?= <leccine@gmail.com>
Message-id: <D1AEE4660A144201943BDF0B25E1895C@china.huawei.com>
MIME-version: 1.0
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
X-Mailer: Microsoft Office Outlook 11
Thread-index: AcpOXJNgBwuyuRgrSWip6VvsxsVydAAcbr8g
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
	<b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
	<4831593800614E6796A45F20BA4B818E@china.huawei.com>
	<b8592ed80910160528h604efc27w87c11a0593ce9fe8@mail.gmail.com>
Content-Type: text/plain; charset=gb2312
Content-Transfer-Encoding: quoted-printable
X-Content-Filtered-By: Mailman/MimeDel 2.1.5
Cc: freebsd-performance@freebsd.org
Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Oct 2009 02:08:49 -0000

This is one of the first things we tried.=20

=20

Does anyone have the tuned parameters?=20

=20

Actually we are looking for info like

=20

1. Any bugs in Freebsd driver which have been fixed in linux kernel=20

2. Any TCP features/RFCs implemented in Linux, but not in Freebsd=20

3. Any other discrepancies between Linux and FreeBSD TCP implementation =
that
could potentially have caused this

=20

=20

Thanks.

Hongtao

=20

=20

  _____ =20

From: Istv=A8=A2n [mailto:leccine@gmail.com]=20
Sent: 2009=C4=EA10=D4=C216=C8=D5 5:29
To: Hongtao Yin
Cc: freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance

=20

I see.

=20

It shows that linux default setup is better.

=20

Have you seen any FreeBSD performance tuning guides?

=20

Regards,

Istvan

2009/10/16 Hongtao Yin <htyin@huawei.com>

Istvan,

=20

I ran newer FreeBSD code 8.0 RC1 this time. By using NetPIPE, we =
collected
test data and the result shows that FreeBSD TCP performance is worse =
than
Linux. I got troubles to plot using gnuplot, so here I am attaching the =
raw
data files.

The netpipe commands are as follows:

PC2: #NPtcp

PC1: #NPtcp =A8Ch 192.168.1.20

=20

Regards,

Hongtao

=20

=20

=20

  _____ =20

From: Istv=A8=A2n [mailto:leccine@gmail.com]=20
Sent: 2009=C4=EA10=D4=C215=C8=D5 5:13


To: Hongtao Yin
Cc: freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance

=20

use netpipe TCP pls.

=20

And graph it.

=20

Thanks in advance,

Istvan

On Thu, Oct 15, 2009 at 2:42 AM, Hongtao Yin <htyin@huawei.com> wrote:

Hi,



I compared TCP performance between FreeBSD and Linux by running test =
tools
Netperf and Iperf with Intel NIC.

The kernels are full version and default values are used in the testing
except TCP Congestion Control algorithm set to Reno.

>From the test results we can see Linux TCP performance in throughput is
better than FreeBSD. The worst case (send msg size 128) shows that =
FreeBSD
throughput is only 43% of Linux's.



I like to get some feedback if anyone did similar comparison test, or =
knows
any issues with kernels or drivers. Thanks lot.



FreeBSD and Linux Sysctl captures are attached for reference.



Regards,

Hongtao







Test Environments:

PC: Dell Precision T3400 (same 4 PCs)

CPU: Intel Core 2 Duo CPU E4600@2.4Ghz

FreeBSD: V7.1 (full version) (TCP CC: newReno)

Linux: V2.6.31.1 (full version) (TCP CC: Reno)

Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter =
(Gigabit)
chip 82546EB (only one port used for each PC)

Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108)

Iperf: V2.0.4

Netperf: V2.4.4



Setup:





                                 ----------

                                 | switch |

                                 ----------

              ---------------------| | | |--------------------

              |                      | |                     |

              |              --------| |--------             |

              |              |                 |             |

              |              |                 |             |

       --------------  --------------  --------------  --------------

       |     PC1    |  |    PC2     |  |    PC3     |  |    PC4     |

       |   FreeBSD  |  |   FreeBSD  |  |   Linux    |  |   Linux    |

       |192.168.1.10|  |192.168.1.20|  |192.168.1.30|  |192.168.1.40|

       --------------  --------------  --------------  --------------











=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D

    Netperf Test Results

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D



TCP Throughput Test

-------------------



PC2/4: #netserver -p 22113

PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10



         Recv             Send            Send           Elapsed
Throughput

         Socket           Socket          Message        Time
10^6 bits/sec

         Size             Size            Size           Sec.

         bytes            bytes           bytes

FreeBSD:  65536            32768           32768          10.34
598.11

Linux:    87380            16384           16384          10.04
779.02





PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m
64/128/256/512/1024/2048/4096



         Recv             Send            Send           Elapsed
Throughput

         Socket           Socket          Message        Time
10^6 bits/sec

         Size             Size            Size           Sec.

         bytes            bytes           bytes

FreeBSD:  65536            32768           64              10.19
417.10

         65536            32768           128             10.35
336.63

         65536            32768           256             10.36
576.99

         65536            32768           512             10.35
569.79

         65536            32768           1024            10.35
553.70

         65536            32768           2048            10.35
584.20

         65536            32768           4096            10.35
602.45



Linux:    87380            16384           64              10.03
778.21

         87380            16384           128             10.03
779.72

         87380            16384           256             10.04
780.16

         87380            16384           512             10.03
776.85

         87380            16384           1024            10.04
777.52

         87380            16384           2048            10.04
777.83

         87380            16384           4096            10.03
780.17









=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D

     Iperf Test Results

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D



Bandwidth Test

--------------



PC2/4: #iperf -s

PC1/3: #iperf -c 192.168.1.20



          Interval        Transfer        Bandwidth

          sec             MBytes          Mbits/sec

FreeBSD:   0.0-10.3        740             600

Linux:     0.0-10.0        972             815





PC1/3: #iperf -c 192.168.1.20 -d



          Interval        Transfer        Bandwidth

          sec             MBytes          Mbits/sec

FreeBSD:   0.0-10.0        402             337

          0.0-10.0        404             338



Linux:     0.0-10.0        926             776

          0.0-10.0        44.1            36.9





Parallel Test

-------------



PC2/4: #iperf -s

PC1/3: #iperf -c 192.168.1.20 -P 2



          Interval        Transfer        Bandwidth

          sec             MBytes          Mbits/sec

FreeBSD:   0.0-10.3        370             300

          0.0-10.3        370             300

     SUM: 0.0-10.3        739             600



Linux:     0.0-10.0        479             402

          0.0-10.0        473             396

     SUM: 0.0-10.0        952             797








_______________________________________________
freebsd-performance@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to
"freebsd-performance-unsubscribe@freebsd.org"




--=20
the sun shines for all




--=20
the sun shines for all


From owner-freebsd-performance@FreeBSD.ORG  Sat Oct 17 10:15:40 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 3C7141065670
	for <freebsd-performance@freebsd.org>;
	Sat, 17 Oct 2009 10:15:40 +0000 (UTC)
	(envelope-from adrian.chadd@gmail.com)
Received: from mail-yw0-f178.google.com (mail-yw0-f178.google.com
	[209.85.211.178])
	by mx1.freebsd.org (Postfix) with ESMTP id E71B08FC0C
	for <freebsd-performance@freebsd.org>;
	Sat, 17 Oct 2009 10:15:39 +0000 (UTC)
Received: by ywh8 with SMTP id 8so2605516ywh.3
	for <freebsd-performance@freebsd.org>;
	Sat, 17 Oct 2009 03:15:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=domainkey-signature:mime-version:sender:received:in-reply-to
	:references:date:x-google-sender-auth:message-id:subject:from:to:cc
	:content-type:content-transfer-encoding;
	bh=CItFrdsMdC+d5zkJO9W5smMo2sFMXnzT07c/E1O2vTc=;
	b=CcDz5n6s8hRLSn2TuFdxdvCk+zgoEc9ry0Q4TjJTfSTdJT4kz7dATT2mgcxTLVXhhV
	gAv1la+OjaR2qlsYUrKltMJNEZAaOOOrYRxN3LhddbxlCDPcP98gnZpIxwNYPCa5XACx
	Bbthgb0S5xNJs5bC9TJGxQQykquGyTDbOqnXg=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type
	:content-transfer-encoding;
	b=rQ3XIoUX/49iRQgRfvFO8h7MNAR7SHT4YqMcKFdYyuyOv50kY9ytsx1Gv433gMqydk
	X3xul+rgxPhCCdJqAf1X1N/8zAL1Phc3q4GLmqYfGW/OJEoD60FS/V636Di3K0PgXnf7
	pYBeY/XF3pNHZbFoQFhdJZ6cDooZ9TclQDNbA=
MIME-Version: 1.0
Sender: adrian.chadd@gmail.com
Received: by 10.101.46.15 with SMTP id y15mr2872078anj.4.1255774539411; Sat, 
	17 Oct 2009 03:15:39 -0700 (PDT)
In-Reply-To: <b8592ed80910160528h604efc27w87c11a0593ce9fe8@mail.gmail.com>
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
	<b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
	<4831593800614E6796A45F20BA4B818E@china.huawei.com>
	<b8592ed80910160528h604efc27w87c11a0593ce9fe8@mail.gmail.com>
Date: Sat, 17 Oct 2009 18:15:39 +0800
X-Google-Sender-Auth: d309f961b4d620d9
Message-ID: <d763ac660910170315l2b46c823l2ce4e5cc1edd959d@mail.gmail.com>
From: Adrian Chadd <adrian@freebsd.org>
To: =?ISO-8859-1?B?SXN0duFu?= <leccine@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: Hongtao Yin <htyin@huawei.com>, freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Oct 2009 10:15:40 -0000

2009/10/16 Istv=E1n <leccine@gmail.com>:
> I see.
> It shows that linux default setup is better.

.. being completely correct, it shows the linux default setup _for
netpipe_ is better on that particular hardware.

That identifies a few other variables which may need addressing. :)


Adrian

From owner-freebsd-performance@FreeBSD.ORG  Sat Oct 17 10:44:54 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id CAC5F106566B
	for <freebsd-performance@freebsd.org>;
	Sat, 17 Oct 2009 10:44:54 +0000 (UTC)
	(envelope-from leccine@gmail.com)
Received: from mail-fx0-f210.google.com (mail-fx0-f210.google.com
	[209.85.220.210])
	by mx1.freebsd.org (Postfix) with ESMTP id 5B61C8FC12
	for <freebsd-performance@freebsd.org>;
	Sat, 17 Oct 2009 10:44:53 +0000 (UTC)
Received: by fxm6 with SMTP id 6so3207809fxm.43
	for <multiple recipients>; Sat, 17 Oct 2009 03:44:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=domainkey-signature:mime-version:received:in-reply-to:references
	:date:message-id:subject:from:to:cc:content-type;
	bh=urxk2bHH9+xJYVuAHzO10dY8UVfS/E1rVS38wuzyxMA=;
	b=V4G+1ViYprpcoCfWhof2+QjN0Sxwy6MUIsPILZ/v1HrFhMJ5Q4kDxhp1kb8bWp5Kjh
	L9tTCmcV8eQFjgipPWwNiDSFfvqoh/+xU7GRYWUQMSrq3eXMPGAQw8Uqg84iKMGl9l4M
	GK42/aLiM5nvVVbdgy9GyHZ9WuOfcN/UTf1Ew=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	b=QAwOCkBkyCUO+QczUy8j1ERo5ev4v/0jRgLZD9uU06VZ9aETznMBRZEm4MgkDEGQhr
	+4r7mTnDOie2B2T8d3rI2pZX/IrNpjDl4ZHpNQsdg5Z4H8V+hEW71UqUlZssYP+Tkwcu
	vz3TTQpRlDwaVLKHaAEL76wKrnJwPMpJHBoxU=
MIME-Version: 1.0
Received: by 10.204.154.142 with SMTP id o14mr2358700bkw.125.1255776293089; 
	Sat, 17 Oct 2009 03:44:53 -0700 (PDT)
In-Reply-To: <d763ac660910170315l2b46c823l2ce4e5cc1edd959d@mail.gmail.com>
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
	<b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
	<4831593800614E6796A45F20BA4B818E@china.huawei.com>
	<b8592ed80910160528h604efc27w87c11a0593ce9fe8@mail.gmail.com>
	<d763ac660910170315l2b46c823l2ce4e5cc1edd959d@mail.gmail.com>
Date: Sat, 17 Oct 2009 11:44:53 +0100
Message-ID: <b8592ed80910170344oe46c8ew9ea9110858643ca7@mail.gmail.com>
From: =?ISO-8859-1?B?SXN0duFu?= <leccine@gmail.com>
To: Adrian Chadd <adrian@freebsd.org>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Content-Filtered-By: Mailman/MimeDel 2.1.5
Cc: Hongtao Yin <htyin@huawei.com>, freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Oct 2009 10:44:55 -0000

I guess it is not only for netpipe, it is doing a pretty decent job changin=
g
the packet size checking the performance so finally you have an overview
about the size, lag, bw

I like! :)

On Sat, Oct 17, 2009 at 11:15 AM, Adrian Chadd <adrian@freebsd.org> wrote:

> 2009/10/16 Istv=E1n <leccine@gmail.com>:
> > I see.
> > It shows that linux default setup is better.
>
> .. being completely correct, it shows the linux default setup _for
> netpipe_ is better on that particular hardware.
>
> That identifies a few other variables which may need addressing. :)
>
>
> Adrian
>



--=20
the sun shines for all

From owner-freebsd-performance@FreeBSD.ORG  Sat Oct 17 14:17:04 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 80E1E106568D
	for <freebsd-performance@freebsd.org>;
	Sat, 17 Oct 2009 14:17:04 +0000 (UTC)
	(envelope-from ohartman@mail.zedat.fu-berlin.de)
Received: from outpost1.zedat.fu-berlin.de (outpost1.zedat.fu-berlin.de
	[130.133.4.66]) by mx1.freebsd.org (Postfix) with ESMTP id 36FCD8FC19
	for <freebsd-performance@freebsd.org>;
	Sat, 17 Oct 2009 14:17:04 +0000 (UTC)
Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69])
	by outpost1.zedat.fu-berlin.de (Exim 4.69) with esmtp
	(envelope-from <ohartman@mail.zedat.fu-berlin.de>)
	id <1MzA5f-000469-4K>; Sat, 17 Oct 2009 16:17:03 +0200
Received: from e178046235.adsl.alicedsl.de ([85.178.46.235]
	helo=thor.walstatt.dyndns.org)
	by inpost2.zedat.fu-berlin.de (Exim 4.69) with esmtpsa
	(envelope-from <ohartman@mail.zedat.fu-berlin.de>)
	id <1MzA5f-00083l-1n>; Sat, 17 Oct 2009 16:17:03 +0200
Message-ID: <4AD9D1DE.9050504@mail.zedat.fu-berlin.de>
Date: Sat, 17 Oct 2009 16:17:02 +0200
From: "O. Hartmann" <ohartman@mail.zedat.fu-berlin.de>
User-Agent: Thunderbird 2.0.0.23 (X11/20090822)
MIME-Version: 1.0
To: =?ISO-8859-1?Q?Istv=E1n?= <leccine@gmail.com>
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>	<b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>	<4831593800614E6796A45F20BA4B818E@china.huawei.com>	<b8592ed80910160528h604efc27w87c11a0593ce9fe8@mail.gmail.com>	<d763ac660910170315l2b46c823l2ce4e5cc1edd959d@mail.gmail.com>
	<b8592ed80910170344oe46c8ew9ea9110858643ca7@mail.gmail.com>
In-Reply-To: <b8592ed80910170344oe46c8ew9ea9110858643ca7@mail.gmail.com>
X-Enigmail-Version: 0.95.7
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Originating-IP: 85.178.46.235
X-Mailman-Approved-At: Sat, 17 Oct 2009 15:05:44 +0000
Cc: freebsd-performance@freebsd.org, Adrian Chadd <adrian@freebsd.org>,
	Hongtao Yin <htyin@huawei.com>
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Oct 2009 14:17:04 -0000

Istv=E1n wrote:
> I guess it is not only for netpipe, it is doing a pretty decent job cha=
nging
> the packet size checking the performance so finally you have an overvie=
w
> about the size, lag, bw
>=20
> I like! :)
>=20
> On Sat, Oct 17, 2009 at 11:15 AM, Adrian Chadd <adrian@freebsd.org> wro=
te:
>=20
>> 2009/10/16 Istv=E1n <leccine@gmail.com>:
>>> I see.
>>> It shows that linux default setup is better.
>> .. being completely correct, it shows the linux default setup _for
>> netpipe_ is better on that particular hardware.
>>
>> That identifies a few other variables which may need addressing. :)
>>
>>
>> Adrian
>>
>=20
>=20
>=20

And maybe the wise can send out word of doing well on FreeBSD, so we can
choose a better setup with looking forward repeating the test under
'tuned' conditions? I'm willing to perform some tests within the next 4
weeks when our server hardware (Dell PowerEdge 1950-III with two
if_bge() NICs and 16GB RAM) changes OS from FreeBSD 8.0 to RedHat Linux.
In a time-window of about a week I might be capable of testing FreeBSD
8.0 as it would be that time by the mid of November with a setup of
Linux (distro doesn't matter as I can choose). I need to know WHAT,
WHERE and HOW. Thanks.

oh


From owner-freebsd-performance@FreeBSD.ORG  Sat Oct 17 15:14:12 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 6BDA1106566B
	for <freebsd-performance@freebsd.org>;
	Sat, 17 Oct 2009 15:14:12 +0000 (UTC)
	(envelope-from sdong@huawei.com)
Received: from usaga02-in.huawei.com (usaga02-in.huawei.com [206.16.17.70])
	by mx1.freebsd.org (Postfix) with ESMTP id 445728FC16
	for <freebsd-performance@freebsd.org>;
	Sat, 17 Oct 2009 15:14:12 +0000 (UTC)
Received: from huawei.com (localhost [127.0.0.1])
	by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14
	(built Aug
	8 2006)) with ESMTP id <0KRN001SFZNLG1@usaga02-in.huawei.com> for
	freebsd-performance@freebsd.org; Sat, 17 Oct 2009 08:14:10 -0700 (PDT)
Received: from D73888 ([10.51.0.27])
	by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14
	(built Aug
	8 2006)) with ESMTPA id <0KRN00I5DZNEN1@usaga02-in.huawei.com> for
	freebsd-performance@freebsd.org; Sat, 17 Oct 2009 08:14:09 -0700 (PDT)
Date: Sat, 17 Oct 2009 08:14:00 -0700
From: Steve Dong <sdong@huawei.com>
In-reply-to: <20091016075336.03eb17f2.wmoran@collaborativefusion.com>
To: 'Bill Moran' <wmoran@collaborativefusion.com>
Message-id: <000001ca4f3c$78dc3550$6501a8c0@china.huawei.com>
MIME-version: 1.0
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.3350
X-Mailer: Microsoft Office Outlook 11
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Thread-index: AcpOV71jUqgAZPGdQj69OG7g/yhFlwA5CVog
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
	<b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
	<4831593800614E6796A45F20BA4B818E@china.huawei.com>
	<001301ca4e23$b96e35b0$3322c10a@china.huawei.com>
	<001c01ca4e24$f10f6e70$3322c10a@china.huawei.com>
	<20091016075336.03eb17f2.wmoran@collaborativefusion.com>
Cc: freebsd-performance@freebsd.org
Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Oct 2009 15:14:12 -0000

If there's a better/lighter way to show these graphics, I'd like to know.  

Thanks,
Steve

 

-----Original Message-----
From: owner-freebsd-performance@freebsd.org
[mailto:owner-freebsd-performance@freebsd.org] On Behalf Of Bill Moran
Sent: Friday, October 16, 2009 4:54 AM
To: Steve Dong
Cc: freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance

Steve Dong <sdong@huawei.com> wrote:
>
> It looks the jpeg attachments were somehow dropped. Trying again with 
> pdf attachment. Hopefully it works this time.

Really.  Don't post attachments to mailing lists.  It's just a bad idea, a
lot of people will be upset with the bandwidth it consumes.  Keep in mind
that not everyone on the list is interested in every conversation.

--
Bill Moran
Collaborative Fusion Inc.

wmoran@collaborativefusion.com
Phone: 412-422-3463x4023

****************************************************************
IMPORTANT: This message contains confidential information and is intended
only for the individual named. If the reader of this message is not an
intended recipient (or the individual responsible for the delivery of this
message to an intended recipient), please be advised that any re-use,
dissemination, distribution or copying of this message is prohibited. Please
notify the sender immediately by e-mail if you have received this e-mail by
mistake and delete this e-mail from your system.
E-mail transmission cannot be guaranteed to be secure or error-free as
information could be intercepted, corrupted, lost, destroyed, arrive late or
incomplete, or contain viruses. The sender therefore does not accept
liability for any errors or omissions in the contents of this message, which
arise as a result of e-mail transmission.
****************************************************************
_______________________________________________
freebsd-performance@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to
"freebsd-performance-unsubscribe@freebsd.org"


From owner-freebsd-performance@FreeBSD.ORG  Sat Oct 17 16:58:46 2009
Return-Path: <owner-freebsd-performance@FreeBSD.ORG>
Delivered-To: freebsd-performance@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 282E3106566B
	for <freebsd-performance@freebsd.org>;
	Sat, 17 Oct 2009 16:58:46 +0000 (UTC) (envelope-from cswiger@mac.com)
Received: from asmtpout012.mac.com (asmtpout012.mac.com [17.148.16.87])
	by mx1.freebsd.org (Postfix) with ESMTP id 100098FC14
	for <freebsd-performance@freebsd.org>;
	Sat, 17 Oct 2009 16:58:45 +0000 (UTC)
MIME-version: 1.0
Content-transfer-encoding: 7BIT
Content-type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Received: from [10.152.145.215]
	(72-165-115-225.dia.static.qwest.net [72.165.115.225])
	by asmtp012.mac.com (Sun Java(tm) System Messaging Server 6.3-8.01
	(built Dec
	16 2008; 32bit)) with ESMTPSA id <0KRO00CSE1PBST00@asmtp012.mac.com> for
	freebsd-performance@freebsd.org; Sat, 17 Oct 2009 08:58:25 -0700 (PDT)
Message-id: <0D9BF9F3-FDA1-4111-9E6C-733E1FD972F5@mac.com>
From: Chuck Swiger <cswiger@mac.com>
To: Steve Dong <sdong@huawei.com>
In-reply-to: <000001ca4f3c$78dc3550$6501a8c0@china.huawei.com>
Date: Sat, 17 Oct 2009 08:58:23 -0700
References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com>
	<b8592ed80910150512k6d334f89s3fa308a85e19da9e@mail.gmail.com>
	<4831593800614E6796A45F20BA4B818E@china.huawei.com>
	<001301ca4e23$b96e35b0$3322c10a@china.huawei.com>
	<001c01ca4e24$f10f6e70$3322c10a@china.huawei.com>
	<20091016075336.03eb17f2.wmoran@collaborativefusion.com>
	<000001ca4f3c$78dc3550$6501a8c0@china.huawei.com>
X-Mailer: Apple Mail (2.936)
Cc: freebsd-performance@freebsd.org
Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance
X-BeenThere: freebsd-performance@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Performance/tuning <freebsd-performance.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-performance>
List-Post: <mailto:freebsd-performance@freebsd.org>
List-Help: <mailto:freebsd-performance-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-performance>,
	<mailto:freebsd-performance-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Oct 2009 16:58:46 -0000

Hi, Steve--

On Oct 17, 2009, at 8:14 AM, Steve Dong wrote:
> If there's a better/lighter way to show these graphics, I'd like to  
> know.

Sure-- put 'em on a webserver somewhere, and put links to them in your  
email to this mailing list.

If you wanted to do even better than that, set up a simple webpage  
describing what you are doing in your comparison, have a link to the  
dmesg/boot output for each platform as a .txt file and a description  
of any system tweaks & tuning, have a link that points to a  
description of the test setup (ie, your ASCII diagram of the switch  
and 4 machines), then your graphs, then the raw data (or links to it,  
depending).  You can then throw in netstat -s output, or NIC driver  
stats from sysctl, or switch stats, etc-- anything else that adds  
useful context.

There are a fair number of posts in the list archives which describe  
how to benchmark reliably, and the people who are most likely to be  
making code changes to FreeBSD also tend to like to know whether  
you've collected enough data, in a controlled fashion, to have an idea  
as to whether your measurements are reproducible.  I'm not a purist,  
and I believe you can get useful estimations without rigorous testing,  
but there are others who make the point that if you haven't provided  
at least a standard deviation, then you haven't collected enough  
data-- done enough trials-- to determine whether the results are  
meaningful.   (See /usr/src/tools/tools/ministat/README)

Of course, you're not obligated to do any of the above, but if you  
want the effort you've put in to be more useful, consider these a  
suggestion.  Finally, the next step beyond that would be to try  
tweaking some things, and see what kind of changes you get from that  
versus the original performance.  It might be the case that making a  
simple tuning change would have a significant difference in  
performance; if you can identify that, then FreeBSD or Linux  
developers can use that information to better tune the OS defaults.

Regards,
-- 
-Chuck