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.
next prev parent 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