User's Manual

General tuning techniques 18
Using the fio-format command to re-initialize the drive
Performing large sequential writes to the drive
For more details on using the fio-format command, see the IO Accelerator User Guide for your operating
system.
Increasing outstanding requests allowed by the kernel
(Linux only)
This section applies to running the 2.0 driver series and later on Linux, with the default value (3) for the
use_workqueue driver option.
The I/O schedulers limit the number of outstanding I/O requests issued to a block device to 128. This might
limit achievable performance for small block random I/O. This limit can be adjusted dynamically. For
example, to increase the number of allowed requests to 4096 per block device, use the following command:
$ echo 4096 > /sys/block/<fio name>/queue/nr_requests
where <fio name> is the block device name, such as fioa.
For some workloads, increasing this parameter might increase I/O latency.
Pre-allocating memory
The driver allocates memory as needed at runtime. If you need to keep memory allocations to a minimum,
such as when using the IO Accelerator as a swap or page file, enable preallocation with the driver options
described below.
You can further tune memory allocation for your IO Accelerator devices by using the following module
parameters:
preallocate_memory
preallocate_mb
expected_io_size
NOTE: Improper use of the preallocate_mb or expected_io_size module parameters
might cause the driver to have insufficient memory in the pre-allocate pool. If the driver needs
more memory than is provided in the pre-allocate pool, it will fall back to non-pre-allocate
behavior for the additional memory, allocating and freeing memory as it would under normal
operation.
preallocate_memory
Description
Causes the driver to pre-allocate the RAM it needs for specified devices. A list of serial numbers is passed in
so the driver can pre-allocate the maximum memory needed per device.
This module parameter does not normally need to be invoked if swap has been enabled. If the memory
pre-allocation fails, the driver fails to load or enters minimal mode.