Devices can be added via the Add Device ... button in the FILE
menu. At this time, dynamic removal of devices if not supported.
Operating parameters can be loaded/restored from a previously created
file via the Load Operating Parms ... button in the FILE menu.
Operating parameters can be save to a file via the Save Operating
Parms ... button in the FILE menu. If the filename specified
already exists, the user will be asked whether the file is to be
removed or the save operation aborted.
Performance statistics can be save to a file via the Dump
Statistics ... button in the FILE menu. If the filename specified
already exists, the user will be asked whether the file is to be
removed or the the statistics are to be appended to the existing file.
The About ... button in the FILE menu will allow the user to
view interesting about MEXTEX.
The Quit button may be used to exit MEXTEX.
The trace controls allow the user to specify whether event tracing is
performed on I/Os and the mode of operation. When enabled, a trace
buffer is maintained in memory which is periodically written to the
backing file. This trace file can then be viewed graphically with a
program called graphtrace.
The following is a description of the controls available.
-
Traceing ENABLE/DISABLE button
- Used to enable or disable tracing.
-
Event trace record saving strategy
- Used to define the strategy for how records are saved into the
trace buffer and into the backing file. Unless triggering is enabled, all but the
first mode are not applicable.
-
Save all records to file
- All trace records are saved to the buffer and the backing
file as they are generated.
-
Save last buffer-full of pre-trigger records to file
- Only trace records occuring before the trigger are
saved. Only the most recent trace records are saved,
i.e. if the trace buffer overflows, older records are
discarded. The trace buffer is saved to file only when
traceing is disabled.
-
Save last buffer-full of post-trigger records to file
- Only trace records occuring after the trigger are
saved. Only the most recent trace records are saved,
i.e. if the trace buffer overflows, newer records are
discarded. The trace buffer is saved to file only when
traceing is disabled.
-
Save last buffer-full of post-trigger records to file
- Only records occuring immediately before and immediately
after the trigger are saved. The relative position of the
trigger is controlled by the Pre:Post size ratio
controls. Only the most recent trace records are saved,
i.e. the trace buffer is partitioned into sections
reserved for records occurring before the trigger and
those occurring after the trigger and overflows of these
two partitions are controlled as with the previous two
strategies. The trace buffer is saved to file only when
traceing is disabled.
-
Trace buffer size
- Determines the maximum number of records which can be saved in
memory.
-
Pre:Post size ratio
- Determines the relative position of the trigger when the
record saving strategy is set to Save last buffer-full of
post-trigger records to file.
-
Trace filename
- Determines the name of the trace backing file.
The trigger control allow the user to specify whether abnormal I/O
event triggering will be enabled and the mode of operation. An
abnormal I/O event is defined as one which takes longer to complete
than a pre-determined threshold. When a trigger is hit, in addition to
it being noted in the event trace, all threads can be optionally
stopped and a pre-determined SCSI command will be optionally issued on
a pre-determined physical I/O device. The utility of the latter is to
allow a user to get timing information of the abnormal I/O relative to
other system events by using a logic analyzer attached to the
appropriate I/O bus.
The following is a description of the controls available.
-
Triggering ENABLE/DISABLE button
- Used to enable or disable triggering.
-
Stop threads on trigger button
- If pushed in, all I/O threads will be stopped when a
trigger is hit.
-
Issue SCSI "trigger" command on Trigger button
- If pushed in SCSI trigger command will be issued on
the physical I/O device determined by SCSI trigger command device.
-
SCSI trigger command
- Determines the SCSI command to be issued to the physical I/O
device determined by SCSI trigger command device, if the
Issue SCSI "trigger" command on Trigger button is
pushed in.
-
SCSI trigger command device
- Determines the physical I/O device to which the SCSI "trigger"
command will be issued if the Issue SCSI "trigger" command on
Trigger button is pushed in.
-
Trigger Threshold time
- Determines the threshold time which determines whether a
particular I/O completion time is considered a abnormal I/O event.
Pattern controls allow the user to enable pattern generation (on write
I/Os) and pattern verification (during read I/Os). The pattern
written/verified is user selectable, but by default a repeating
pattern of 0x55555555, 0xAAAAAAAA, 0xA5A5A5A5, 0x5A5A5A5A is
chosen. Whatever pattern is chosen, the selected pattern is repeated
except for the first word on each 512 byte boundary which is set to
the LBA of that block.
Pattern generation and verification can be independantly enabled, and
it is the user's responsibility to ensure that valid data is written
to a block before an attempt is made to verify the data written to the
block.
Miscompare information is written to standard output, together with
the LBA and thread reporting the miscompare.
It should be noted that when pattern generation and verification are
both disabled, all I/O threads share the same buffer, in order to
minimize memory usage. When either generation or verification is
enabled however, all threads naturally allocate their own private
buffers. With this is mind, the user should be carefull when creating
a workload with many threads making large I/O requests,
while generating/verifying data patterns.