ipr: Reboot speed improvements
authorBrian King <brking@linux.vnet.ibm.com>
Thu, 26 Mar 2015 16:23:50 +0000 (11:23 -0500)
committerJames Bottomley <JBottomley@Odin.com>
Thu, 9 Apr 2015 20:42:07 +0000 (13:42 -0700)
commit4fdd7c7aabbec3aa9e5dc41c129bc9f6aed7e615
tree5bbd1cf3dacd2f7428aa56b04358acaee41e60ec
parentbe0cf6ca301c61458dc4aa1a37acf4f58d2ed3d6
ipr: Reboot speed improvements

Currently when performing a reboot with an ipr adapter,
the adapter gets shutdown completely, flushing all write
cache, as well as performing a full hardware reset of the card
during the shutdown phase of the old kernel. This ensures
the adapter is in a fully quiesced state across the reboot.

There are scenarios, however, such as when performing
kexec, where this full adapter shutdown is not required
and not desired, since it can make the reboot process take
noticeably longer.

This patch adds a module parameter to allow for skipping the
full shutdown during reboot. Rather than performing a full
adapter shutdown and reset, we simply cancel any outstanding
error buffers, place the adapter into a state where it has no
memory of any DMA addresses from the old kernel, then disable
the device. This significantly speeds up kexec boot, particularly
in configurations with multiple ipr adapters.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Reviewed-by: Wen Xiong <wenxiong@linux.vnet.ibm.com>
Reviewed-by: Daniel Kreling <kreling@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
drivers/scsi/ipr.c
drivers/scsi/ipr.h