> The patch below solves stalled IPI processing on octeon. When IPIs are
> finally enabled during boot, some kernel threads have already been
> started. There seems to be no mechanism that would update interrupt
> masks for a running thread, so the early threads run IPIs disabled.
> This will lead to a deadlock quite soon after launching other cores.
> The patch makes the registering of the IPI handler happen early enough
> for the correct idle_mask to propagate to all threads.

This makes sense. However, your `ipi_enabled' new variable basically
mimics an `if (ipi_handler != NULL)' test, so there is no need for an
extra variable.

Miod

Reply via email to