• David Johnson's avatar
    Move emergency_restart call out of bh in Linux ipod module on aarch64/powerpc64. · 4a801b22
    David Johnson authored
    Calling emergency_restart directly from the softirq/bh ipod icmp handler
    has a history of causing panics prior to the intended shutdown on both
    aarch64 and powerpc64.  The panics didn't inhibit the intended reboot,
    but on OPAL-booted ppc64le, were very noisy, because each "hyperthread"
    cpu attempted a dealloc of the irq handler from within the handler, so
    the console got a noisy stack trace for each thread.
    So now if IPOD_QUEUE_RESTART is defined (and it is by default on aarch64
    and powerpc64), we move the call to emergency_restart into a dedicated,
    preallocated workqueue thread, whose sole purpose is to (eventually)
    reboot the machine.  Wasteful, but we don't want to need to initialize
    anything, or use a shared workqueue, if an IPOD is really necessary, at
    IPOD time.
Last commit
Last update
debian Loading commit data...
rpm Loading commit data...
Makefile Loading commit data...
ipod.c Loading commit data...