> > Message: 1 > Date: Thu, 26 Jul 2007 12:28:43 -0400 > From: [EMAIL PROTECTED] > Subject: [perf-discuss] filebench on linux > To: perf-discuss@opensolaris.org > Message-ID: <[EMAIL PROTECTED]> > Content-Type: text/plain; charset=ISO-8859-1; format="flowed" > > Hello, > > I was able to get filebench1.64alpha to compile on Ubuntu Linux > (2.6.22) by doing the following: > > 1) Line 22 "_syscall0(pid_t,gettid)" in filebench/flowop.c causes a > bunch of errors during make so comment it out.
Interesting... looks like someone's prototype - the return value (the process id) isn't even being used. If we were to use it, we should go with getpid(). Thanks for pointing it out, i'll remove it. > > 2) ./configure --with-gsl=/usr/include/gsl > > 3) My libgsl.a and libgslcblas.a are located in /usr/lib. I made a > symlink to libgsl.a in /usr/include/gsl/.libs/ and a symlink to > libgslcblas.a in /usr/include/gsl/cblas/.libs/ We actually have some changes coming that will introduce our own gamma distribution (which is the only reason we have a dependency on libgsl). This should make the code much easier to port & install. > > 4) Line 27 in filebench/parser_lex.l causes an error during make > because INITIAL has not been declared so I changed INITIAL to 0. Cool, i'll take that change too. Works ok on opensolaris. > > 5) make install > > filebench was installed to /usr/local/filebench with directories > /config, /scripts, and /workloads. No /bin was created but the > filebench executable was built and remained in the source directory so > I moved it to the install directory. I pulled the benchpoint script > from the source directory as well. Now filebench seems to work fine. > Just a few errors to note: > > 1) whenever I load a personality (i.e. load varmail, webserver, etc.) > a syntax error occurs but it doesn't seem to affect anything: > > filebench> load varmail > 2980: 2.227: Varmail Version 1.24 2005/06/22 08:08:30 personality > successfully loaded > 2980: 2.227: Usage: set $dir=<dir> > 2980: 2.227: set $filesize=<size> defaults to 16384 > 2980: 2.227: set $nfiles=<value> defaults to 1000 > 2980: 2.227: set $nthreads=<value> defaults to 16 > 2980: 2.227: set $meaniosize=<value> defaults to 16384 > 2980: 2.227: set $meandirwidth=<size> defaults to 1000000 > 2980: 2.227: (sets mean dir width and dir depth is calculated as log > (width, nfiles) > 2980: 2.227: dirdepth therefore defaults to dir depth of 1 as in > postmark > 2980: 2.227: set $meandir lower to increase depth beyond 1 if > desired) > 2980: 2.227: 2980: 2.227: run runtime (e.g. run 60) > 2980: 2.227: SYNTAX ERROR, TOKEN EXPECTED ON LINE 50 Yeah, this is a known issue we're looking to resolve. More importantly, we're actually looking to change the default way of using filebench. Instead of this interactive mode, i'd encourage people to go more of the way of 'runbench'. > > 2) sometimes I receive a "flowop readfile failed" > > filebench> load webserver > 2643: 5.824: Webserver Version 1.13 2005/06/21 21:18:53 personality > successfully loaded > 2643: 5.827: Usage: set $dir=<dir> > 2643: 5.827: set $filesize=<size> defaults to 16384 > 2643: 5.827: set $nfiles=<value> defaults to 1000 > 2643: 5.827: set $dirwidth=<value> defaults to 20 > 2643: 5.827: set $nthreads=<value> defaults to 100 > 2643: 5.827: run runtime (e.g. run 60) > 2643: 5.827: syntax error, token expected on line 63 > filebench> set $dir=/tmp filebench> set $nfiles=50000 > filebench> run 30 > 2643: 23.823: Fileset logfiles: 1 files, avg dir = 20.0, avg depth = > 0.0, mbytes=0 > 2643: 23.839: Removed any existing fileset logfiles in 1 seconds > 2643: 23.839: Creating fileset logfiles... > 2643: 23.839: Preallocated 1 of 1 of fileset logfiles in 1 seconds > 2643: 26.318: Fileset bigfileset: 50000 files, avg dir = 20.0, avg > depth = 3.6, mbytes=774 > 2643: 44.699: Removed any existing fileset bigfileset in 19 seconds > 2643: 44.706: Creating fileset bigfileset... > 2643: 82.641: Preallocated 50000 of 50000 of fileset bigfileset in 38 > seconds > 2643: 82.641: Creating/pre-allocating files > 2643: 82.641: Starting 1 filereader instances > 2694: 83.645: Starting 100 filereaderthread threads > 2643: 102.947: Running... > 2694: 105.956: flowop readfile7 failed on line 1 > 2694: 105.957: flowop readfile7 failed on line 1 > 2694: 105.958: flowop readfile4 failed on line 1 > 2694: 105.959: flowop readfile6 failed on line 1 > 2694: 105.960: flowop readfile4 failed on line 1 > 2694: 106.069: flowop readfile8 failed on line 1 > 2694: 106.113: flowop readfile4 failed on line 1 > 2694: 106.116: flowop readfile8 failed on line 1 > 2694: 106.156: flowop readfile7 failed on line 1 > 2694: 106.157: flowop readfile7 failed on line 1 > 2694: 106.158: flowop readfile6 failed on line 1 > 2694: 106.160: flowop readfile8 failed on line 1 > 2694: 106.162: flowop readfile5 failed on line 1 > 2694: 106.162: flowop readfile5 failed on line 1 > 2643: 106.361: Run took 3 seconds... > 2643: 107.347: Per-Operation Breakdown > appendlog 0ops/s 0.0mb/s 0.0ms/op > 0us/op-cpu > closefile10 0ops/s 0.0mb/s 0.0ms/op > 0us/op-cpu > readfile10 0ops/s 0.0mb/s 0.0ms/op > 0us/op-cpu > openfile10 0ops/s 0.0mb/s 0.0ms/op > 0us/op-cpu > closefile9 0ops/s 0.0mb/s 0.0ms/op > 0us/op-cpu > readfile9 0ops/s 0.0mb/s 0.0ms/op > 0us/op-cpu > openfile9 0ops/s 0.0mb/s 163.2ms/op > 0us/op-cpu > closefile8 0ops/s 0.0mb/s 0.0ms/op > 0us/op-cpu > readfile8 0ops/s 0.0mb/s 237.9ms/op > 0us/op-cpu > openfile8 4ops/s 0.0mb/s 113.1ms/op > 0us/op-cpu > closefile7 4ops/s 0.0mb/s 0.0ms/op > 0us/op-cpu > readfile7 4ops/s 0.0mb/s 247.1ms/op > 0us/op-cpu > openfile7 9ops/s 0.0mb/s 69.6ms/op > 0us/op-cpu > closefile6 9ops/s 0.0mb/s 0.0ms/op > 0us/op-cpu > readfile6 9ops/s 0.0mb/s 342.9ms/op > 0us/op-cpu > openfile6 15ops/s 0.0mb/s 110.3ms/op > 0us/op-cpu > closefile5 15ops/s 0.0mb/s 0.0ms/op > 0us/op-cpu > readfile5 16ops/s 0.0mb/s 428.2ms/op > 0us/op-cpu > openfile5 19ops/s 0.0mb/s 304.1ms/op > 0us/op-cpu > closefile4 19ops/s 0.0mb/s 0.0ms/op > 0us/op-cpu > readfile4 18ops/s 0.0mb/s 810.6ms/op > 0us/op-cpu > openfile4 9ops/s 0.0mb/s 442.0ms/op > 0us/op-cpu > closefile3 7ops/s 0.0mb/s 0.0ms/op > 0us/op-cpu > readfile3 5ops/s 0.0mb/s 840.5ms/op > 0us/op-cpu > openfile3 2ops/s 0.0mb/s 33.3ms/op > 0us/op-cpu > closefile2 2ops/s 0.0mb/s 0.0ms/op > 0us/op-cpu > readfile2 2ops/s 0.0mb/s 597.9ms/op > 0us/op-cpu > openfile2 2ops/s 0.0mb/s 302.2ms/op > 0us/op-cpu > closefile1 2ops/s 0.0mb/s 0.0ms/op > 0us/op-cpu > readfile1 1ops/s 0.0mb/s 517.7ms/op > 0us/op-cpu > openfile1 1ops/s 0.0mb/s 106.9ms/op > 0us/op-cpu > > 2643: 107.347: IO Summary: 526 ops 174.9 ops/s, (55/0 r/w) > 0.7mb/s, 4819us > cpu/op, 805.3ms latency > 2643: 107.347: Shutting down processes > 2694: 107.218: flowop readfile5 failed on line 1 > 2694: 107.350: flowop readfile5 failed on line 1 > 2694: 107.351: flowop readfile5 failed on line 1 > 2694: 107.351: flowop readfile7 failed on line 1 > 2694: 107.352: flowop readfile6 failed on line 1 > 2694: 107.353: flowop readfile5 failed on line 1 > 2694: 107.355: flowop readfile5 failed on line 1 > 2694: 107.356: flowop readfile7 failed on line 1 > 2694: 107.358: flowop readfile6 failed on line 1 > 2694: 107.358: flowop readfile6 failed on line 1 > 2694: 107.359: flowop readfile6 failed on line 1 > 2694: 107.360: flowop readfile6 failed on line 1 > 2694: 107.360: flowop readfile4 failed on line 1 > filebench> > > I'm not sure what these errors mean (or even what the difference is > between readfile1, readfile2, ...). Can someone help? I'll look deeper into the code, but offhand, these errors sometimes mean you haven't put enough demand on the system. So try increasing 'nfiles' from the default of 1000. Thanks for reporting your issues, and please keep us informed! I really want to see FileBench on linux work really well. eric _______________________________________________ perf-discuss mailing list perf-discuss@opensolaris.org