A kexec boot for some ipr SAS adapters was seen to take ~20 seconds just doing ipr adapter initialization. This is due to the fact that a kexec invokes the driver's shutdown handler which places the adapter into a state that requires a hard reset and resulting firmware initialization to be usable again, which takes significant time. By exporting kexec_in_progress, this process can be optimized significantly in the driver by essentially placing the adapter into a state where this hardware reset and re-initialization can be bypassed, eliminating this delay in kexec boot. Cc: Eric Biederman <ebiederm@xxxxxxxxxxxx> Cc: kexec <kexec@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> --- kernel/kexec.c | 2 ++ 1 file changed, 2 insertions(+) diff -puN kernel/kexec.c~kexec_export_in_prog kernel/kexec.c --- scsi-queue/kernel/kexec.c~kexec_export_in_prog 2014-12-02 12:13:22.820325731 -0600 +++ scsi-queue-bjking1/kernel/kexec.c 2014-12-02 12:13:22.825325687 -0600 @@ -2768,3 +2768,5 @@ int kernel_kexec(void) mutex_unlock(&kexec_mutex); return error; } + +EXPORT_SYMBOL_GPL(kexec_in_progress); _ -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html