General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: Kim Hawtin <kim@hawtin.net.au>
To: bloat@lists.bufferbloat.net
Subject: Re: [Bloat] Progress with latency-under-load tool
Date: Tue, 22 Mar 2011 11:43:48 +1030	[thread overview]
Message-ID: <4D87F7CC.2050100@hawtin.net.au> (raw)
In-Reply-To: <1A0E96CF-CFF6-4475-9DDB-C6329493D33F@gmail.com>

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.





  reply	other threads:[~2011-03-22  1:13 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-16  2:31 Jonathan Morton
2011-03-16 17:12 ` Rick Jones
2011-03-17 23:38 ` grenville armitage
2011-03-19 17:44   ` Jonathan Morton
2011-03-20 10:45   ` Jonathan Morton
2011-03-20 20:33     ` grenville armitage
2011-03-20 20:53       ` Dave Täht
2011-03-20 21:52       ` Jonathan Morton
2011-03-20 22:32         ` Dave Täht
2011-03-20 22:47           ` Dave Täht
2011-03-20 22:52             ` Jonathan Morton
2011-03-20 22:55               ` Dave Täht
2011-03-20 23:42               ` Dave Täht
2011-03-20 21:50     ` [Bloat] Some results of the latency under load tool Dave Täht
2011-03-20 22:24       ` Jonathan Morton
     [not found]     ` <m3d3llgln8.fsf@yahoo.com>
2011-03-21  6:43       ` [Bloat] Progress with latency-under-load tool Jonathan Morton
2011-03-22  1:13         ` Kim Hawtin [this message]
2011-03-22  7:10           ` Jonathan Morton
2011-03-23 10:33     ` Otto Solares Cabrera
2011-03-23 11:26       ` Jonathan Morton
2011-03-23 19:27         ` Otto Solares
2011-03-23 20:40           ` Jonathan Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/bloat.lists.bufferbloat.net/

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

  git send-email \
    --in-reply-to=4D87F7CC.2050100@hawtin.net.au \
    --to=kim@hawtin.net.au \
    --cc=bloat@lists.bufferbloat.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox