Re: [PATCH v5 1/7] kernel: Add support for kernel restart handler call chain

From: Guenter Roeck
Date: Wed Jul 30 2014 - 16:53:12 EST


On 07/30/2014 01:18 PM, Stephen Boyd wrote:
On 07/18/14 00:34, Guenter Roeck wrote:
+/**
+ * do_kernel_restart - Execute kernel restart handler call chain
+ *
+ * Calls functions registered with register_restart_handler.
+ *
+ * Expected to be called from machine_restart as last step of the restart
+ * sequence.
+ *
+ * Restarts the system immediately if a restart handler function has been
+ * registered. Otherwise does nothing.
+ */
+void do_kernel_restart(char *cmd)
+{
+ blocking_notifier_call_chain(&restart_handler_list, reboot_mode, cmd);
+}

Has this been tested with scheduling while atomic checking
(CONFIG_DEBUG_ATOMIC_SLEEP) or lockdep (CONFIG_PROVE_LOCKING)? ARM would
call this with irqs disabled and blocking_notifier_call_chain() would
spit out a warning when it tries to down_read() on it's semaphore. This
should probably be an atomic notifier chain instead.


Good point. I'll update the code accordingly.

I'll wait for additional comments until early next week to avoid unnecessary
churn.

Thanks,
Guenter

--
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/