iostress
Stresses the IO subsystem to uncover bugs.
Synopsis
iostress [-quit]
Description
Installs a set of monitoring routines that catch incorrect use of the IO
subsystem.
The monitoring routines ensure the following:
- When writing data, the routines guarantee that the buffer used for the
IO remains consistent and does not get altered while the write operation
occurs. This guarantees that a title is not manipulating data that are
being fetched by an IO module.
- When reading data, the routines guarantee that it is not possible to
read any data associated with the IO request until the IO request has been
completed. This guarantees that a title is not reading data before it has
been completely transferred.
- The monitoring routines do their work by allocating temporary buffers
and using these for the IO transactions. Doing so requires some extra
memory, and requires some extra CPU time to copy data between the buffers.
This can affect the performance of a title, possibly causing some jerky
animations, but should never cause a crash, or trashed sound or graphics.
If these things happen, then the title has a bug.
Arguments
- -quit
- Tells a previously started version of iostress to exit.
Implementation
Command implemented in V24.
$c/iostress
Caveats
Quitting is a tricky operation and does not always work. The safest way to
"quit" is to reset the system.