Messages in this thread Patch in this message | | | From | KOSAKI Motohiro <> | Subject | Re: Query about kdump_msg hook into crash_kexec() | Date | Thu, 3 Feb 2011 14:20:53 +0900 (JST) |
| |
> AFAIK, kexec is used sneak rebooting way when the system face unexpected > scenario on some devices. (Some embedded is running very long time, then > it can't avoid memory bit corruption. all of reset is a last resort. > and a vendor gather logs at periodically checkback). > > The main purpose of to introduce KMSG_DUMP_KEXEC is to be separate it > from KMSG_DUMP_PANIC. At kmsg_dump() initial patch, KMSG_DUMP_PANIC > is always called both kdump is configured or not. But it's no good idea > the same log is to be appeared when both kexec was successed and failured. > Moreover someone don't want any log at kexec phase. They only want logs > when real panic (ie kexec failure) route. Then, I've separated it to two. > Two separated argument can solve above both requreiment.
A bit additional explanation, An original patch have kmsg_dump(KMSG_DUMP_PANIC) callsite at following point. I didn't think it makes either embedded or kdump folks happiness. Thus I moved it after crash_kexec().
--------------------------------------------------------------------- @@ -74,6 +75,7 @@ NORET_TYPE void panic(const char * fmt, ...) dump_stack(); #endif
+ kmsg_dump(KMSG_DUMP_PANIC); /* * If we have crashed and we have a crash kernel loaded let it handle * everything else. * Do we want to call this before we try to display a message? */ crash_kexec(NULL); ---------------------------------------------------------------------
| |