分析内核重启的时候
--- a/kernel/reboot.c
+++ b/kernel/reboot.c
@@ -235,10 +235,16 @@ void kernel_restart(char *cmd)
kernel_restart_prepare(cmd);
migrate_to_reboot_cpu();
syscore_shutdown();
+ dump_stack();
if (!cmd)
- pr_emerg("Restarting system\n");
+ pr_emerg("Restarting system, \"%s\" (%ld) parent: \"%s\" (%ld)\n",
+ current->comm, (unsigned long)current->pid,
+ current->parent->comm, (unsigned long)current->parent->pid);
else
- pr_emerg("Restarting system with command '%s'\n", cmd);
+ //pr_emerg("Restarting system with command '%s'\n", cmd);
+ pr_emerg("Restarting system with command, \"%s\" (%ld) parent: \"%s\" (%ld)\n",
+ cmd, current->comm, (unsigned long)current->pid,
+ current->parent->comm, (unsigned long)current->parent->pid);
kmsg_dump(KMSG_DUMP_RESTART);
machine_restart(cmd);
}