Question about kmsg_dump for OOPS

From: Jin Dongming
Date: Wed Dec 02 2009 - 22:03:26 EST


Hello, Simon

I am Jin Dongming.

I have a question about kmsg_dump which needs your help.
The question is as following:
Why not put the kmsg_dump() for OOPS into oops_end() and before the branch
of crash_kexec()?

The reason for the question is as following:
Now the kmsg_dump() for OOPS is added in oops_exit(). When OOPS happened,
kernel will call oops_end(). If the crash_kexec() is executed first in
oops_end(), the oops_exit() could not be called. And also the kmsg_dump()
for PANIC could not be executed. So I think that the kmsg_dump() for OOPS
will lose its real meaning.

The function tree for OOPS is as following:
oops_end()
|
|-- if (crash_kexec is valid)
| |
| |-- crash_kexec() ==> reboot (and the following function will
| not be executed)
|
|-- oops_exit
| |
| |-- kmsg_dump(OOPS)
|
|-- if (panic is valid)
| |
| |-- kmsg_dump(PANIC)
|

The function tree for PANIC is as following:
panic()
|
|-- kmsg_dump(PANIC)
|
|-- crash_kexec()
|
|-- notifier()


When kernel paniced, kmsg_dump() for PANIC is executed before crash_kexec(). So
I think before crash_kexec() is executed, kmsg_dump() for OOPS should be called
too. How do you think?

Best regards,
Jin Dongming

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/