From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-13-iad.dyndns.com (mxout-104-iad.mailhop.org [216.146.32.104]) by lists.bufferbloat.net (Postfix) with ESMTP id 499E22E01B8 for ; Mon, 21 Mar 2011 18:13:46 -0700 (PDT) Received: from scan-11-iad.mailhop.org (scan-11-iad.local [10.150.0.208]) by mail-13-iad.dyndns.com (Postfix) with ESMTP id 97732BDD464 for ; Tue, 22 Mar 2011 01:13:46 +0000 (UTC) X-Spam-Score: 0.0 () X-Mail-Handler: MailHop by DynDNS X-Originating-IP: 117.20.11.230 Received: from mail.cc.com.au (mail.cc.com.au [117.20.11.230]) by mail-13-iad.dyndns.com (Postfix) with ESMTP id 2D8D9BDD43B for ; Tue, 22 Mar 2011 01:13:45 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.cc.com.au (Postfix) with ESMTP id 7990C3E4D3 for ; Tue, 22 Mar 2011 11:09:56 +1000 (EST) X-Virus-Scanned: Debian amavisd-new at mail.cc.com.au Received: from mail.cc.com.au ([117.20.11.230]) by localhost (mail.cc.com.au [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rJLl1LUP2Ghk for ; Tue, 22 Mar 2011 11:09:53 +1000 (EST) Received: from [129.127.55.141] (web-test.adelaide.edu.au [129.127.55.141]) (Authenticated sender: kim@hawtin.net.au) by mail.cc.com.au (Postfix) with ESMTPA id C90193E3FB for ; Tue, 22 Mar 2011 11:09:46 +1000 (EST) Message-ID: <4D87F7CC.2050100@hawtin.net.au> Date: Tue, 22 Mar 2011 11:43:48 +1030 From: Kim Hawtin User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.1.16) Gecko/20101227 Icedove/3.0.11 MIME-Version: 1.0 To: bloat@lists.bufferbloat.net References: <0D59AD34-AA64-4376-BB8E-58C5D378F488@gmail.com> <4D829B58.1070601@swin.edu.au> <1A0E96CF-CFF6-4475-9DDB-C6329493D33F@gmail.com> In-Reply-To: <1A0E96CF-CFF6-4475-9DDB-C6329493D33F@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Bloat] Progress with latency-under-load tool 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: Tue, 22 Mar 2011 01:13:47 -0000 Hi Jonathan, On 21/03/11 17:13, Jonathan Morton wrote: > On 21 Mar, 2011, at 6:09 am, Daniel Brooks wrote: >> Oof. I guess the loopback driver could use some work as well :) > > Either that or there is some strange timing effect going on that I should be aware of. I'm going to try to run some more tests to see if I can get the smoothness and responsiveness values up, but if any of you notice something bizarre... > > Be aware however that both smoothness and responsiveness are taken as the absolute worst cases observed. If there is a bell curve, you're going to be looking at outliers. Perhaps I should calculate something like a 7-number summary to sanity-check it. > dtaht pointed me in the direction of loadlatency.c to get my head around the issues. its been a while since i've done a lot of C, but had a poke around ... It builds fine on Debian; $ uname -a Linux greyarea 2.6.32-5-amd64 #1 SMP Wed Jan 12 05:14:59 UTC 2011 x86_64 GNU/Linux but fails to link on RHEL5; $ uname -a Linux zima.services.adelaide.edu.au 2.6.18-194.11.3.el5 #1 SMP Mon Aug 23 15:51:38 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux I have included the build and the YUM package info below. dtaht suggested that the packages libblas and libgsp are used only for RNG? Is there another/better RNG that could be used that less system dependant? Perhaps this one as it can be distributed directyly; http://ccan.ozlabs.org/info/isaac.html regards, Kim $ gcc -O3 loadlatency.c -o loadlatency -lgsl -lblas -lpthread loadlatency.c: In function ‘pingpong’: loadlatency.c:140: warning: passing argument 2 of ‘send’ discards qualifiers from pointer target type loadlatency.c:145: warning: passing argument 2 of ‘recv’ discards qualifiers from pointer target type loadlatency.c: In function ‘spew_conn’: loadlatency.c:346: warning: cast from pointer to integer of different size loadlatency.c: In function ‘chug_conn’: loadlatency.c:357: warning: cast from pointer to integer of different size loadlatency.c: In function ‘pingpong_conn’: loadlatency.c:368: warning: cast from pointer to integer of different size loadlatency.c: In function ‘client’: loadlatency.c:424: warning: cast to pointer from integer of different size loadlatency.c:457: warning: cast to pointer from integer of different size loadlatency.c:471: warning: passing argument 2 of ‘pthread_join’ from incompatible pointer type loadlatency.c: In function ‘server_conn’: loadlatency.c:514: warning: cast from pointer to integer of different size loadlatency.c: In function ‘server’: loadlatency.c:614: warning: cast to pointer from integer of different size /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ctrmv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zswap' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zsymm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_cgeru' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_sgemm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ctrsv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_sgemv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_srotg' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zgemm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_cdotu_sub' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dznrm2' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ddot' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_csymm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_cher2k' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zdotu_sub' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_sdot' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_sdsdot' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_cgerc' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_scnrm2' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ctrmm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_sscal' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_strmm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zcopy' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dsyrk' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_cherk' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zherk' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zher' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ztrmv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_drotmg' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dswap' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_scopy' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_scasum' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zscal' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_drotg' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zdotc_sub' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_cscal' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_caxpy' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zsyr2k' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ssyr2k' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_csyr2k' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ztrsm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ctrsm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ssymm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_cdotc_sub' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zher2k' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_saxpy' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_idamax' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_snrm2' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dsdot' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_cher' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dger' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_cher2' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dzasum' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dsyr2' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ssyrk' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_strmv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dgemv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_cgemm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dasum' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dsymv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_srotm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_sswap' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dtrmv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_isamax' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zhemv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zaxpy' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dcopy' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_sasum' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dsyr' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_strsm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_drot' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ztrsv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_izamax' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ssymv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_chemm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zgeru' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dtrsv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_sger' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_srot' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dsymm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ztrmm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zdscal' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zher2' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ssyr' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dtrmm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zgerc' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_csscal' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dsyr2k' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_chemv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dnrm2' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_drotm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_icamax' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zgemv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zhemm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_cgemv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ssyr2' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_strsv' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dscal' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dgemm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_srotmg' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_dtrsm' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_ccopy' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_zsyrk' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_cswap' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_daxpy' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libgsl.so: undefined reference to `cblas_csyrk' collect2: ld returned 1 exit status this is the YUM package info; # yum info gsl-devel.i386 gsl-devel.x86_64 gsl-static.x86_64 blas-devel.i386 blas-devel.x86_64 Loaded plugins: rhnplugin, security Installed Packages Name : blas-devel Arch : i386 Version : 3.0 Release : 37.el5 Size : 456 k Repo : installed Summary : LAPACK development libraries URL : http://www.netlib.org/lapack/ License : Freely distributable Description: BLAS development libraries for applications that link statically. Name : blas-devel Arch : x86_64 Version : 3.0 Release : 37.el5 Size : 580 k Repo : installed Summary : LAPACK development libraries URL : http://www.netlib.org/lapack/ License : Freely distributable Description: BLAS development libraries for applications that link statically. Name : gsl-devel Arch : i386 Version : 1.13 Release : 3.el5 Size : 1.2 M Repo : installed Summary : Static libraries and header files for GSL development. URL : http://www.gnu.org/software/gsl/ License : GPLv3 and GFDL and BSD Description: The gsl-devel package contains the header files necessary for : developing programs using the GSL (GNU Scientific Library). Name : gsl-devel Arch : x86_64 Version : 1.13 Release : 3.el5 Size : 1.2 M Repo : installed Summary : Static libraries and header files for GSL development. URL : http://www.gnu.org/software/gsl/ License : GPLv3 and GFDL and BSD Description: The gsl-devel package contains the header files necessary for : developing programs using the GSL (GNU Scientific Library). Name : gsl-static Arch : x86_64 Version : 1.13 Release : 3.el5 Size : 4.3 M Repo : installed Summary : Static libraries of the GSL package URL : http://www.gnu.org/software/gsl/ License : GPLv3 and GFDL and BSD Description: The gsl-static package includes static libraries of GSL.