Hi, >> >>> 1st CPU: >> >>> panic()->crash_kexec()->mutex_trylock(&kexec_mutex)-> do kdump >> >>> >> >>> 2nd CPU: >> >>> panic()->crash_kexec()->kexec_mutex already held by 1st CPU >> >>> ->smp_send_stop()-> stop CPU 1 (stop kdump) >> >>> >> >>> How should we fix this problem? One possibility could be to do >> >>> smp_send_stop() before we call crash_kexec(). http://lkml.org/lkml/2010/9/16/353 I developed a patch solving this issue one year ago. (Just adding local_irq_disable in kexec path.) I hope this helps. Seiji