From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from g9t5008.houston.hp.com (g9t5008.houston.hp.com [15.240.92.66]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "smtp.hp.com", Issuer "VeriSign Class 3 Secure Server CA - G3" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id C4CC321F35D for ; Wed, 22 Apr 2015 12:26:53 -0700 (PDT) Received: from g4t3433.houston.hp.com (g4t3433.houston.hp.com [16.210.25.219]) by g9t5008.houston.hp.com (Postfix) with ESMTP id 35E0F17F; Wed, 22 Apr 2015 19:26:50 +0000 (UTC) Received: from [16.103.148.51] (tardy.usa.hp.com [16.103.148.51]) by g4t3433.houston.hp.com (Postfix) with ESMTP id C49E07A; Wed, 22 Apr 2015 19:26:48 +0000 (UTC) Message-ID: <5537F5F8.9030101@hp.com> Date: Wed, 22 Apr 2015 12:26:48 -0700 From: Rick Jones User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Hal Murray , bloat@lists.bufferbloat.net References: <20150422191056.9C7AC406057@ip-64-139-1-69.sjc.megapath.net> In-Reply-To: <20150422191056.9C7AC406057@ip-64-139-1-69.sjc.megapath.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Bloat] SO_SNDBUF and SO_RCVBUF X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Apr 2015 19:27:22 -0000 > So it looks like the number you feed it turns into the window size. > > A few quick tests with netperf confirm that it is doing something close to > what I expect but I haven't fired up tcpdump to verify that the window size > is what I asked for. netperf does print out values that are 2x what I asked > for. It will do that until you start asking for (2x?) more than net.core.[rw]mem_max. At that point they will be clipped. > Yuck. (That's Yuck at Linux, not netperf.) No worries :) That bit of behaviour frustrated me and my BSD-stack upbringing for years, along with the auto-tuning. Finally I ended-up adding support for reporting three different socket buffer values via the "omni" output selectors: 1) the size requested by the user via the command line 2) the size initially after the data socket was created (and any setsockopts triggered by the command line) 3) the size at the end of the test The classic netperf tests have always reported 2. If you use the omni tests directly (-t omni) they will report 3. You can always use the test-specific -o, -O or -k option to emit each specifically. For both SO_[SND|RCV]BUF locally and remote: raj@tardy:~/netperf2_trunk$ netperf -- -O \? | grep SIZE LSS_SIZE_REQ LSS_SIZE LSS_SIZE_END LSR_SIZE_REQ LSR_SIZE LSR_SIZE_END RSS_SIZE_REQ RSS_SIZE RSS_SIZE_END RSR_SIZE_REQ RSR_SIZE RSR_SIZE_END ... happy benchmarking, rick jones