About this program (Best viewed using E.EXE with word wrap on)
==============================================================
This is a freeware benchmark for OS/2. Like all such benchmark programs,
its results can be read in many ways. Beware of making too many decisions
based on its output - by their very nature, benchmark programs are *not*
real world applications. By tuning your system with the aid of benchmarks,
you may end up with a system that runs benchmark programs wonderfully well
but runs applications badly! Just so you're aware....

JFS Drives are now supported for the File I/O tests BUT...
The File I/O test may hang when run on a JFS formatted drive.
This appears to be due to a JFS bug and has been fixed in a JFS
build dated after 2004-03-30 (filename jfs20040330.zip). Symptoms
are that the File I/O test just stops, no CPU time is used, no
I/O is done, Sysbench appears responsive, you can close its
main window but you can't end the program without rebooting.
Appears to have an APAR number, PJ29609. Scott Garfinkle makes
new "test" kernels available from the testcase IBM site and
some/all of these get archived on http://www.os2site.com in 
the "Updates" section. You may be able to find the fixed version
of JFS.IFS there too. Caveat emptor!

Outstanding issues...
=====================
1) Hardware identification problems
There are currently times when the hardware identification routines within
Sysbench will correctly identify your hardware but then mix it all up and
assign the hard disk names at random. This affects people who have more
than one hard disk attached to multiple types of controller. For example,
I have a machine that has two IDE hard disks and a SCSI adapter attached.
Sysbench ends up giving the name of the SCSI drive attached to the first
IDE drive and then the second IDE drive is called the name of the first
one and the SCSI drive is called the name of the second IDE drive... ouch.
There doesn't appear to be anything I can do about this, it's caused by
interrogating multiple sources for my information and having them return
the information in a different order. In this case I'm asking the OS/2
Resource Manager for info about the devices attached in order to obtain
the make and model of the hard disks attached. I'm also asking OS/2 for
info about PCI devices attached and it tells me about the controllers in
the opposite order to the way that RM does. Now it's scrambled and I have
no idea how to unscramble it.

For now the only "solution" I have for this is for people to edit the
names of the disks manually either from File/Machine Data or by right
clicking on the name of the hard disk in the main window listing.

2) OS/2 versions prior to Warp v3.0
It has been brought to my attention that Sysbench does not currently run
on systems running OS/2 2.1x due to an error about missing DIVE files.
Even when copying the supplied DIVE.DLL into \OS2\DLL on a 2.1x system
the application will still not start as it makes calls to PMWIN.DLL
and the ordinal numbers appear to have changed between releases. I have
installed a copy of OS/2 2.1 for Windows to see if I can work out a way
of making this work but, at present, short of shipping two separate
copies of Sysbench, I cannot think of a way to do this. For this reason
execution of Sysbench on OS/2 2.1x systems is not possible.

Instructions
============
There are a number of files that are required to be in the same directory
as the Sysbench executable. These files are:
diskit.exe
cpuid.dat
pcicfg.dat
pmbflops.exe
pmbhanoi.exe
pmbheaps.exe
pmblinpk.exe
pmbsieve.exe
pmb_dhry.exe
pmb_fft.exe
sbcpuse.run
sysbench.exe

The file PCIDEVS.TXT is a translation table that allows Sysbench to work out
what PCI devices are what. It may be edited if you find a device that isn't
in the table. The file is not maintained by me and you can find the most up
to date version of it on Craig Hart's web site at
http://members.datafast.net.au/dft0802/downloads/pcidevs.txt

Results produced using versions with the same release number may be directly
compared with each other. If the first three digits are the same then the
results are directly comparable. For example, 0.9.3 and 0.9.3a b and c can
all be compared with each other but not with 0.9.4 or 0.9.2. If you're
looking for results from other systems see the section further down
this readme about the web site.

The detailed log of the changes from the prior releases are now itemised in
changes.txt to save clogging up this readme file with them.

                                 Program Usage

You can either invoke the program by typing SYSBENCH at a command prompt and
then use the menus to perform the testing or you can run it in automatic mode
using the parameters

/ALL        - run all tests and then quit saving the results to the current
              directory as RESULT.TXT and RESULT.HTM

/R:filename - specify the filename to which to save results. It must specify
              a pre-existing directory if a directory name is given.

/H:filename - specify the filename to which to save results in HTML format. It
              must specify a pre-existing directory if a directory name is given.

/DEBUG      - produces messages to STDOUT that document various internal settings
              and results. Use this if you are submitting a bug report to me and
              want to be complete about what is going on. It's really mostly useful
              for CD related problems but might help on others too. Redirect the
              output from Sysbench to a text file (use SYSBENCH >test.log) and include
              the file in a bug report.

/NODETECT   - bypasses much of the hardware detection code added in 0.9.4.

Running

SYSBENCH /all /r:y:\sysbench\res091.txt

will run all tests and save the results to the file \sysbench\res091.txt on the
Y: drive. The HTML format results will be saved as RESULT.HTM in the current
directory since it isn't overridden.

Be aware that running this way from a command line will generate a set of
results full of "Unknown machine" type comments. If you want to have it
include some reasonable data you'll need to invoke Sysbench from a command
line without any operands and go through the definition dialog pages to
enter data about your machine. You can also copy SYSBENCH.INI from another
machine but it'll be identical to the definitions on there if you do this.

The complete set of tests from end to end is likely to run for about half
an hour or more.


Supplemental Information.
=========================
This program was originally distributed complete with all source needed to
compile it. The original source was written by Henrik Harmsen and was
donated to the OS/2 community by him when he moved to use Linux. The
source has undergone many revisions, bugfixes and has a number of new
functions since that time. Please do not report problems to him as he
hasn't touched the code for a long time and won't have a clue what you
are talking about!

The last version of the source that was included came with Sysbench 0.9.1d
which was distributed as SYSB091D.ZIP. Due to space constraints I have now
REMOVED the source from the archive in order to make it smaller
(~330Kb instead of ~770Kb). If you just want _a_ version of the source
you can the source for 0.9.1d from http://warped.cswnet.com/Sysbench/sb091dsrc.zip.

The version of the program you now have was coded by me, Trevor Hemsley,
and you should report any and all problems to me (Trevor-Hemsley@dial.pipex.com).


Web Site for results
====================
There is a site on the internet where results are collected. It's run by me
and I'll collect the results and post them. I've specifically added a
"Save results as HTML" option to the File menu to save a set of results
in the format ready to be posted on this site... so if you aim to send
your results to me, use both the HTML and text options and assist the
task of maintaining the site. Send me both html and text sets of results
using this email address - sysbench@dial.pipex.com.

The results site is http://warped.cswnet.com/Sysbench.

Update 2004: this email address is now pretty much unusable as it receives
in excess of 1000 spam mails a week and I cannot be bothered to sort through
them looking for any results that might be mailed. Since I haven't seen any
results sent to that address since July 2002 I think we'll call it dead
and move on :-( If you REALLY want to send me the results then you can
still do so on that email address but you MUST include the word
"TOBC" in the subject of the mail, that's four letters, all upper case,
separated from surrounding words by blanks. Everything that does not
have the word TOBC in the subject gets deleted by filter.

I have attempted to gather some hardware information from within the
application as it initialises. I'm attempting to get hold of the BIOS
manufacturer and the video card/chipset in use and also the storage
controllers that are registered with the OS/2 Resource Manager and
the disks attached to them. I also query the CPU for its identity
if it supports this. If any of these are incorrectly filled in please
send me a mail and let me know. The more info you can provide the
better.


Disclaimer
==========
Standard disclaimers apply. This program is supplied in good faith but
I am not responsible for any loss or damage that may result from use of
it. All use of this program is strictly at your own risk.


Sysbench 0.9.4e
===============
This is a revision of the Sysbench 0.9.0 program, originally written
by Henrik Harmsen. His introductory readme file has been renamed to
DONTREAD.HCH in this package and needs to be read in conjunction
with _this_ file.

                         Warning - Warning - Warning.

You should NOT compare results produced using this revision of the
program with results produced from  versions prior to 0.9.4. Too many
things have changed - timing bugs have been eliminated, methods of
calculating test averages have changed and a different compiler has
been used. You should be able to compare results from this version
with any from 0.9.1 on upwards.

I would also suggest (very strongly) that this benchmark program NOT
be run on any machine that has critical applications running on it.

Installation
============
No special installation steps are required to install this program.

I strongly recommend that you do NOT use the copy of DIVE.DLL that I
have shipped. I have included the latest DIVE.DLL from The Developer
Connection for OS/2 volume 10. It may not be necessary as the program
appears to work with the version that's on my system dated 17-02-95   4:51p.
I have included the latest version anyway as that's the one I've done
all my testing with. If you want to use this, copy it to your \MMOS2\DLL
directory _after_ saving a copy of the existing version. This copy is
*older* than that shipped in Warp 4 so don't use it for this release
of OS/2. It's also possible that IBM have shipped a newer copy with
a fixpack so check the date and time of your file before replacing it.

Sample result files
===================
I have included sample result files from my machines in this file.
All results on the smaller machine were generated using OS/2 Warp
Connect V3 as I do not have MMOS/2 installed on the copy of V4 that
is on this machine. MMOS/2 is required for the DIVE tests.

Res091.486 is generated using Sysbench 0.9.1 on my Dell 486DX2/66,
24MB RAM, with Diamond Stealth32 2MB VLB graphics card and Promise
DC4030-VL2 4MB cache IDE controller, Western Digital AC31200 1.2Gb hard disk.

Res091b.486 is generated using Sysbench 0.9.1b on my Dell 486DX2/66,
24MB RAM, with Diamond Stealth32 2MB VLB graphics card and Promise
DC4030-VL2 4MB cache IDE controller, Western Digital AC31200 1.2Gb hard disk.

Res091c.686 is generated using Sysbench 0.9.1c on my Dell machine
which now consists only of the original case with completely new
innards! This is a Freetech 586F62 motherboard based on the Intel
430HX chipset, Cyrix P120+ running at 100MHz, 40MB RAM, with no-name
S3Trio64V+ 2MB PCI graphics card, Western Digital AC31200 1.2Gb hard
disk attached to the onboard PCI EIDE controller.

Res091c1.686 - same system as above, running Warp 3 with an ATI
Graphics Xpression 2Mb card.

Res091c2.686 - same system as above, running Warp 4 with an ATI
Graphics Xpression 2Mb card.

Res091.PRO is generated using Sysbench 0.9.1 on a Micron Pentium
Pro 200MHz, 64MB RAM, with ATI Graphics Pro Turbo 4MB VRAM,
Adaptec AHA2940UW PCI SCSI controller, Seagate Barracuda 2.1Gb
fast/wide hard disk (ST32550W).  This set of results uses the
Conner 1Gb narrow SCSI disk that's also installed.

Res091b.PRO is generated using Sysbench 0.9.1b on a Micron
Pentium Pro 200MHz, 128MB RAM, with ATI Graphics Pro Turbo
4MB VRAM, Adaptec AHA2940UW PCI SCSI controller, Seagate
Barracuda 2.1Gb fast/wide hard disk (ST32550W).

Res091c.PRO is generated using Sysbench 0.9.1c on a Micron
Pentium Pro 200MHz, 128MB RAM, with ATI Graphics Pro Turbo
4MB VRAM, Adaptec AHA2940UW PCI SCSI controller, Seagate
Barracuda 2.1Gb fast/wide hard disk (ST32550W) and IBM DCHS-04W
Scorpion, fast/wide 4.3Gb hard disk (the subject of this test)

Other results are also included from various other machine
configurations that I have access to. Hardware details are
in the results files themselves.

Bugs and warnings
=================
If you have the original Warp 3 or Warp Connect without any
fixpacks do NOT attempt to run the file SBCPUSE.RUN or your system
 will stop with a TRAP 000E. This is the executable that measures
the amount of CPU usage by using the new API call however the mere
act of loading it causes OS/2 to TRAP if run on a system that does
 not support the new API call. Sysbench determines whether your
system supports this or not and automatically calls it if it is
supported. I have named the executable sbcpuse.run to make it
more difficult for the unwary to trap their system.

No bugs that I know of (but there are bound to be some). If you
find one, report it to me - Trevor-Hemsley@dial.pipex.com - and
include as much information as you can. If it falls over and
displays an error box with registers, quote them (a
HELP SUPPRESSPOPUPS on Warp will tell you an easy way
of collecting this information and save you some tedious typing).
If the program generates a log file called SB_ERROR.LOG, include
that too. Tell me about your machine in  as much detail as you
can, even if it seems irrelevant

As of 0.9.1b there's a section in the results file that reports
on video data. If you suffer a video problem please save a set
of results (even if they're blank) and include the video data
section in your bug report. It'll tell me more about your video
card and might help to solve the problem.

