Shift to using the same queueing strategy that the amr driver uses.
Some simple tests indicate that we use about 2% of the CPU at around
500tps with the controller completely saturated with I/O.
32 bytes is safe.
Handle successful completion of message log retrieval commands.
With these changes, the driver correctly handles the consequences of drive
death and replacement in a reliable array. Note that the massive backlog
of I/O during handling of such an event can kill the system if softupdates
is enabled.
PJ cards. This will probably also support the AcceleRAID and
eXtremeRAID cards, but nobody has volunteered one for testing, so I
haven't enabled their PCI device IDs.
Slightly clean up communication between the disk devices and the
controller device as per new practice, and move some more register-
related items int mlxreg.h from mlxvar.h.
Remove some unnecessary read-modify-write operations to the card
control registers; they don't behave like that.
Increase the status polling interval to 10 seconds. It's still possible
to load the card up to the point where a status poll will find the
previous poll still running, but this will reduce the incidence of
complaints.