Ronnie Sahlberg [Tue, 1 Jan 2013 19:01:15 +0000 (11:01 -0800)]
Change how we delete the semaphores to be more FreeBSD friendly.
From Richard Sharpe:
Hi Ronnie,
I have been running dbench on FreeBSD (8.0) recently, and I had some
problems getting it to run.
I found that it seems that under FreeBSD, if the semaphore is deleted
(IPC_RMID) before a process returns while waiting on a semop, it can
get EIDRM. I was seeing this for about 30 processes out of 50.
By moving the IPC_RMID out of the child processes and towards the end
of the master, things worked for me.
Raymond Barbiero [Sun, 12 Aug 2012 05:04:30 +0000 (22:04 -0700)]
Quote all other parameters passed to functions.
Raymond Barbiero [Sun, 12 Aug 2012 04:50:15 +0000 (21:50 -0700)]
Fixed a bug where do_readdirplus would occasionally fail to write, and then try to read from a nonexistent file.
Background:
COOKIE3 was an undefined variable. Pass COOKIE to do_readdirplus.
To prevent STATUS being interpreted as $4 when COOKIE is empty, quote all parameters passed.
Raymond Barbiero [Sun, 12 Aug 2012 04:08:30 +0000 (21:08 -0700)]
Allow tshark to be executed from system path rather than the local directory.
Ronnie Sahlberg [Sun, 12 Aug 2012 05:24:09 +0000 (15:24 +1000)]
Revert "Fixed a typo in the READDIRPLUS case."
This reverts commit
97ff206dc7f960d3096438b7d36dbed5016c9d3f.
Ronnie Sahlberg [Sun, 12 Aug 2012 05:23:57 +0000 (15:23 +1000)]
Revert "Allow tshark to be executed from system path rather than the local directory."
This reverts commit
6dcb6c65b5dc37ae73e2cb3545bbaf11e8d5ae6a.
Raymond Barbiero [Sat, 11 Aug 2012 06:57:32 +0000 (23:57 -0700)]
Allow tshark to be executed from system path rather than the local directory.
Raymond Barbiero [Sat, 11 Aug 2012 06:55:25 +0000 (23:55 -0700)]
Fixed a typo in the READDIRPLUS case.
Ronnie Sahlberg [Tue, 3 Jul 2012 01:19:37 +0000 (11:19 +1000)]
Read all directory entries before we start invoking the callbacks
Most nfs servers return READDIRPLUS entry cookies as the offset into the directory where the dirent starts.
This means that reading the directory is not impacted by changes to the directory and that BAD_COOKIE errors will never arise.
Think loops like
opendir()
while(readdir()){
unlink()
}
closedir()
Some nfs servers can not easily produce semantics similar to the above in which case the cleanup funciton that does a recursive delete using a loop semantically similar to the above.
Change how we traverse directories to instead work something like
opendir()
while(readdir()){
store dirent in list
}
closedir()
walk whole list {
unlink()
}
Ronnie Sahlberg [Tue, 12 Jun 2012 10:47:36 +0000 (20:47 +1000)]
bump the xdr buffers to 17MB so we can send big nfs i/o
Ronnie Sahlberg [Tue, 12 Jun 2012 04:48:25 +0000 (14:48 +1000)]
iscsi: update to new signature for libiscsi read10/write10
Ronnie Sahlberg [Tue, 12 Jun 2012 03:58:44 +0000 (13:58 +1000)]
make the rw scratch buffer 16mb
Ronnie Sahlberg [Sat, 1 Oct 2011 07:29:26 +0000 (17:29 +1000)]
web: update iscsi webpage with new iscsi url syntax
Ronnie Sahlberg [Sat, 1 Oct 2011 07:19:01 +0000 (17:19 +1000)]
libiscsi: add option to use libiscsi (if available) instead of the builtin inferior iscsi client.
also change the arguments to specify portal/port/target/lun to use the 'iscsi url" syntax instead.
add ability to set initiatorname
Ronnie Sahlberg [Sat, 20 Nov 2010 22:47:30 +0000 (09:47 +1100)]
Merge branch 'master' of git+ssh://git.samba.org/data/git/sahlberg/dbench
Ronnie Sahlberg [Sat, 20 Nov 2010 22:44:55 +0000 (09:44 +1100)]
add examp[les of synchronizecache10 to iscsi and scsi sample loadfiles
Ronnie Sahlberg [Sat, 20 Nov 2010 22:42:59 +0000 (09:42 +1100)]
add support for SYNCHRONIZECACHE10 to both iscsi and scsi backends
Jeremy Bongio [Fri, 12 Nov 2010 18:16:35 +0000 (13:16 -0500)]
The nfs read operation was not properly memcpying the received buffer.
Ronnie Sahlberg [Thu, 28 Oct 2010 06:15:07 +0000 (17:15 +1100)]
Add a new directive WRITEPATTERN that specifies the pattern to use when writing through the nfs backend
Ronnie Sahlberg [Tue, 19 Oct 2010 02:09:02 +0000 (13:09 +1100)]
add printing of sense key and ascq when a scsi command fails to the iscsi backend
Ronnie Sahlberg [Fri, 3 Sep 2010 22:46:21 +0000 (08:46 +1000)]
Add configure checking for presence of libsmbclient-dev
and build without SMB support if not available.
Add pritning of which optional backends are available int he build
at the end of the configure script
For now : support for raw scsi through the linux sg interface and smb
support are optional.
Ronnie Sahlberg [Tue, 31 Aug 2010 22:13:20 +0000 (08:13 +1000)]
NFS backend:
use clnt_control() to set the XID for all ONC-RPC transactions explicitely.
this allows us to guarantee that all threads use non-colliding
XID values.
(with very many clients and very many operations, the birthday effect
will sooner or later create a collission otherwise and this can trip
up the replay cache in the nfs server to respond "unexpectedly"
to the dbench client.)
Ronnie Sahlberg [Fri, 20 Aug 2010 02:12:10 +0000 (12:12 +1000)]
increase the rw buffer for nfsv3 read/write commands to 1M
this allows (when using tcp) to use much larger i/o sizes (for those servers that support them)
on ubuntu 10 on amd64, knfsd can handle READ3 up to 512k
larger reads than this will be truncated to 512k
on this platform librpc/rpcgen is also limited on the amount of data it can send.
It appears that going above 256k writes, the rpcgen generated code crashes
inside librpc
ymmv
Ronnie Sahlberg [Sat, 3 Jul 2010 10:16:44 +0000 (20:16 +1000)]
add a check in configure that libpopt is available
root [Thu, 27 May 2010 02:29:50 +0000 (12:29 +1000)]
add a script to build a dbench rpm and a specfile
root [Thu, 27 May 2010 02:28:24 +0000 (12:28 +1000)]
install all the other iscsi/scsi/smb/nfs loadfiles
root [Thu, 27 May 2010 02:26:37 +0000 (12:26 +1000)]
rename the nfs_2 loadfile from .load to .txt
root [Thu, 27 May 2010 02:21:54 +0000 (12:21 +1000)]
store example loadfiles under docdir not datadir
root [Thu, 27 May 2010 02:19:35 +0000 (12:19 +1000)]
install manpages under man/man1 not under man
root [Thu, 27 May 2010 02:15:38 +0000 (12:15 +1000)]
store the example loadfiles under share/dbench/loadfiles
root [Thu, 27 May 2010 02:10:10 +0000 (12:10 +1000)]
change datadir so it points to share/dbench instead of just share
root [Thu, 27 May 2010 02:07:49 +0000 (12:07 +1000)]
dont build/install tbench for now
root [Thu, 27 May 2010 02:03:38 +0000 (12:03 +1000)]
Add DESTDIR to the makefile
Ronnie sahlberg [Tue, 18 May 2010 23:18:46 +0000 (09:18 +1000)]
Add WRITE10 support to dbench/iscsi
To use writes you must specify --allow-scsi-writes on the
commandline
Ronnie sahlberg [Tue, 18 May 2010 09:03:43 +0000 (19:03 +1000)]
Add a new LOOP/ENDLOOP construct that can loop over multiple lines in
the loadfile
Ronnie sahlberg [Tue, 18 May 2010 07:14:37 +0000 (17:14 +1000)]
When using multiple [...] blocks in RANDOMSTRING
all [...] blocks would be replacved by the string picked for the firs
toccurence.
Update the code so we use different strings for each for "extra
randomness".
Breno Leitao [Wed, 10 Mar 2010 17:52:08 +0000 (14:52 -0300)]
new iscsi persistent out examples
Add a few loadfile examples related to Persistent Reservation out, and
some scripts to run dbench instances in parallel in order to test
that requires parallelism
Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
Ronnie Sahlberg [Fri, 12 Mar 2010 17:46:47 +0000 (04:46 +1100)]
If --warmup=x is specified, make the warmup phase exactly this long
regardless of whether all threads have done any i/o yet or not.
This allows for running loadfiles where there are no read/write i/o at all.
Without being stuck inside the warmup phase indefinitely.
Ronnie Sahlberg [Fri, 12 Mar 2010 17:20:25 +0000 (04:20 +1100)]
dont try to modify offset if size is 0
it will generate a division by zero fault and crash the thread
Ronnie Sahlberg [Tue, 9 Mar 2010 19:27:00 +0000 (06:27 +1100)]
remove two unused variables
Breno Leitao [Fri, 26 Feb 2010 20:12:23 +0000 (17:12 -0300)]
PROUT example in iscsi.txt loadfile
A simple example that shows the PROUT command in action
Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
Breno Leitao [Fri, 26 Feb 2010 20:12:05 +0000 (17:12 -0300)]
PROUT support
Add Persistent reserve out in dbench. Now it's possible to use
the PROUT command in load files in order to execute a lot of actions
Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
Volker Lendecke [Sun, 7 Mar 2010 09:39:49 +0000 (10:39 +0100)]
Fix dbench for client.txt
client.txt contains filenames with $, this conflicts with the RANDOMSTRING
feature
Ronnie Sahlberg [Mon, 1 Mar 2010 21:44:31 +0000 (08:44 +1100)]
The nfs backend needs #define _FILE_OFFSET_BITS 64
or else we will wrap and wont be able to write beyong the 4gb boundary.
Ronnie Sahlberg [Tue, 2 Feb 2010 03:42:23 +0000 (14:42 +1100)]
Add a new loadfile command :
RANDOMSTRING <idx> <string>
This creates a string and stores in <idx> slot 0-9 for future reference.
All occurences of "[<characters>] in <string> will be substituted for
one randomly picked character in the specified set.
These random slots can later be referenced from other loadfile commands
where $<digit> will be subsituted for the current string value.
See loadfiles/smb_3.txt for an example
Ronnie Sahlberg [Wed, 13 Jan 2010 03:59:08 +0000 (14:59 +1100)]
remove an invalid comment
Ronnie Sahlberg [Wed, 13 Jan 2010 03:53:07 +0000 (14:53 +1100)]
Add a way where you can tell the loadfile to add to the previous value of a
parameter in the loeadfile.
This is useful for loadfiles where one might want to perform sequential read/writes
The syntax in the loadfile is "+value" which will be replaced by the previous plus value
See loadfile/smb_2.txt for an example
Ronnie Sahlberg [Wed, 13 Jan 2010 03:35:33 +0000 (14:35 +1100)]
Add a new directive to the loadfile :
"REPEAT <number>"
This directive will repeat the next line <number> of times
See loadfiles/smb_1.txt for an example
Ronnie Sahlberg [Tue, 12 Jan 2010 03:06:05 +0000 (14:06 +1100)]
dont assume that all smb loadfiles will always use /clients/client* so dont force this path segment to the smb_share variable
Ronnie Sahlberg [Tue, 12 Jan 2010 03:05:09 +0000 (14:05 +1100)]
dont strncpy a null password
Ronnie Sahlberg [Wed, 16 Dec 2009 23:43:23 +0000 (10:43 +1100)]
make sure we use the same abi when talking to libc and make sure we always use the same setting for file offset bits
Ronnie Sahlberg [Sun, 13 Dec 2009 22:41:55 +0000 (09:41 +1100)]
Grrrrr different distributions ship different libsmbclient with different APIs
but still use the same so version number
Ronnie Sahlberg [Fri, 11 Dec 2009 22:25:52 +0000 (09:25 +1100)]
Add support for writing to random 64 bit offsets for nfs WRITE3
Ronnie Sahlberg [Fri, 11 Dec 2009 22:15:53 +0000 (09:15 +1100)]
Add more advanced "random' number use for loadfiles.
Make it possible to use random number and add alignment, modulo and
offset to them so it is possible in nfs for example to specify offset as
*/0x1000%
5000000
meaning : random number between 0 and 500000 aligned to 4096
update the nfs backend to accept 64 bit offsets
Ronnie Sahlberg [Tue, 8 Dec 2009 06:01:01 +0000 (17:01 +1100)]
fixup an incorrect html tag
Ronnie Sahlberg [Tue, 8 Dec 2009 05:48:54 +0000 (16:48 +1100)]
add a webpage for the smb backend
Ronnie Sahlberg [Tue, 8 Dec 2009 05:29:16 +0000 (16:29 +1100)]
Document the two new smb options
--smb-user=[DOMAIN/]USER%PASSWORD
and
--smb-share=//SERVER/SHARE[/PATH]
root [Sun, 6 Dec 2009 22:51:07 +0000 (09:51 +1100)]
Add handling of /clients/client? to the SMB backend
root [Sun, 6 Dec 2009 22:26:07 +0000 (09:26 +1100)]
remove a debug message
root [Sun, 6 Dec 2009 22:18:13 +0000 (09:18 +1100)]
Mention that you can specify a path in the --smb-share argument.
--smb-share=//SERVER/SHARE[/PATH]
root [Sun, 6 Dec 2009 21:11:07 +0000 (08:11 +1100)]
change the syntax to use --smb-share=//SERVER/SHARE instead of a separate --smb-server and a --smb-share argument
root [Sun, 6 Dec 2009 21:02:42 +0000 (08:02 +1100)]
Add a DELTREE and READDIR operation
root [Sat, 5 Dec 2009 02:14:23 +0000 (13:14 +1100)]
Add several new functions for the SMB backend :
OPEN/CREATE
CLOSE
READ
WRITE
UNLINK
root [Fri, 4 Dec 2009 06:39:12 +0000 (17:39 +1100)]
change the status for SMB commands to be either of SUCCESS, ERROR or *
update the example loadfile and document this
update the framework code in child.c to accept SUCCESS/ERROR as the status string
change the commands for SMB to be all uppercase and add checking the status to them
root [Fri, 4 Dec 2009 05:54:04 +0000 (16:54 +1100)]
Add support to log in to the SMB server/share
and for the MKDIR and RMDIR operations
Add initial example loadfile for these two operations
Ronnie Sahlberg [Fri, 4 Dec 2009 04:23:23 +0000 (15:23 +1100)]
initial parsing of command line arguments for smb
Ronnie Sahlberg [Fri, 4 Dec 2009 04:07:00 +0000 (15:07 +1100)]
Add smb.o to the makefile
Ronnie Sahlberg [Fri, 4 Dec 2009 04:06:26 +0000 (15:06 +1100)]
Add a blank file for the SMB backend.
Ronnie Sahlberg [Fri, 4 Dec 2009 04:02:04 +0000 (15:02 +1100)]
Fix the webpage with the example loadfile for iSCSI.
4kb is actually 8 blocks, not 4.
Ronnie Sahlberg [Tue, 3 Nov 2009 04:25:40 +0000 (15:25 +1100)]
link with zlib so we can read gzip compressed loadfiles
Ronnie Sahlberg [Wed, 14 Oct 2009 06:29:44 +0000 (17:29 +1100)]
add machinereadable output for the data printed every second
@W@1@1085@0.74@1@21.302@
first field is W R or C representing the state of the run
Warmup, Running or Cleanup
Ronnie Sahlberg [Wed, 14 Oct 2009 05:52:37 +0000 (16:52 +1100)]
add a new option --machine-readable
This prints the list of operations using ':' as a separator :
Operation Count AvgLat MaxLat
--------------------------------------------------
:GETATTR3:625:1.429:20.554:
:LOOKUP3:625:0.854:21.356:
:READ3:624:0.891:7.811:
egrep for "^:" to find these datalines.
The summary is printed using ';' as a separator :
;0.995267;1;1;9.738;
egrep "^;" to find this line
Ronnie Sahlberg [Sat, 26 Sep 2009 00:11:03 +0000 (10:11 +1000)]
add an init function to the nfs backend to test we can reach the server before we start spawning childprocesses
Ronnie Sahlberg [Sat, 26 Sep 2009 00:03:57 +0000 (10:03 +1000)]
teach NFS READ3 operation about doing I/O to a random offset in the file.
Ronnie Sahlberg [Fri, 25 Sep 2009 23:10:07 +0000 (09:10 +1000)]
update the usage output to include scsi and iscsi as backends.
Fix a typo.
Ronnie Sahlberg [Fri, 25 Sep 2009 23:02:09 +0000 (09:02 +1000)]
update the manpage with --iscsi-port
Ronnie Sahlberg [Fri, 25 Sep 2009 22:59:05 +0000 (08:59 +1000)]
mention we support iscsi on the features list
Ronnie Sahlberg [Fri, 25 Sep 2009 22:58:53 +0000 (08:58 +1000)]
link to the iscsi page
Ronnie Sahlberg [Fri, 25 Sep 2009 22:58:21 +0000 (08:58 +1000)]
add a web page for iscsi
Ronnie Sahlberg [Fri, 25 Sep 2009 21:46:22 +0000 (07:46 +1000)]
updated git tree for download
Ronnie Sahlberg [Fri, 25 Sep 2009 21:01:35 +0000 (07:01 +1000)]
update incorrect git address on the web page
Ronnie Sahlberg [Fri, 25 Sep 2009 04:09:36 +0000 (14:09 +1000)]
if we have a data-in without the S-bit, then there is more data to read
so loop for next pdu.
Ronnie Sahlberg [Fri, 25 Sep 2009 04:09:19 +0000 (14:09 +1000)]
add documentation for TESTUNITREADY
Ronnie Sahlberg [Mon, 21 Sep 2009 02:22:03 +0000 (12:22 +1000)]
make it possible to use "*" to specify a random argument in the loadfile.
update the iscsi example loadfile to handle "*"
Ronnie Sahlberg [Thu, 17 Sep 2009 22:22:53 +0000 (08:22 +1000)]
fix bug when setting default port for iscsi
Ronnie Sahlberg [Thu, 17 Sep 2009 22:04:49 +0000 (08:04 +1000)]
add a parameter to se the iscsi port to use
Ronnie Sahlberg [Thu, 17 Sep 2009 21:59:43 +0000 (07:59 +1000)]
documentation
Ronnie Sahlberg [Mon, 14 Sep 2009 21:01:47 +0000 (07:01 +1000)]
document the iscsi cmd line arguments
Ronnie Sahlberg [Mon, 14 Sep 2009 20:45:32 +0000 (06:45 +1000)]
example laodfile for iscsi
Ronnie Sahlberg [Mon, 14 Sep 2009 20:43:46 +0000 (06:43 +1000)]
initial support for iSCSI.
very primitive support which only supports a subset of iSCSI sufficient to talk to a STGT target
root [Thu, 23 Jul 2009 05:52:25 +0000 (15:52 +1000)]
when using random lba, make it align on an xferlen boundary
Ronnie Sahlberg [Wed, 22 Jul 2009 02:40:15 +0000 (12:40 +1000)]
update documentation for the scsi backend
root [Wed, 22 Jul 2009 02:31:27 +0000 (12:31 +1000)]
add a mechanism to use random LBA in scsi read/write
root [Wed, 22 Jul 2009 02:17:15 +0000 (12:17 +1000)]
implement WRITE10
also make sure the lba is wrapped if it points to something larget than the device so that loadfiles will not fail when used against a smaller device
Ronnie Sahlberg [Fri, 27 Feb 2009 04:21:45 +0000 (15:21 +1100)]
fix a debug statement to print also the directory name (and not
whatever the top of stack hyappened to point at :-)
Ronnie Sahlberg [Tue, 17 Feb 2009 23:49:52 +0000 (10:49 +1100)]
add a "warmup" argument so we can specify explicitely how long the warmup period should be
Ronnie Sahlberg [Fri, 17 Oct 2008 05:22:42 +0000 (16:22 +1100)]
document the --scsi option
Ronnie Sahlberg [Fri, 17 Oct 2008 03:28:25 +0000 (14:28 +1100)]
add read6 support
Ronnie Sahlberg [Fri, 17 Oct 2008 03:23:14 +0000 (14:23 +1100)]
update read10 and implement readcapacity10
Ronnie Sahlberg [Fri, 17 Oct 2008 02:56:44 +0000 (13:56 +1100)]
add link to my samba.org page