On (01/05/16 15:37), Jan Kara wrote: > > How about setting 'sync_print' to 'true' in... > > bust_spinlocks() /* only set to true */ > > or > > console_verbose() /* um... may be... */ > > or > > having a separate one-liner for that > > > > void console_panic_mode(void) > > { > > sync_print = true; > > } > > > > and call it early in panic(), before we send out IPI_STOP. > > I like using console_verbose() for setting sync_print to true. That will > likely be more reliable than using oops in progress. After all > console_verbose() is used like console_panic_mode() anyway and in quite a > few places so it is a reasonable match.
another corner case. a quote from -mm a74b6533ead8 http://www.spinics.net/lists/linux-mm/msg98990.html : This patch reduces the probability of such a lockup by introducing a : specialized kernel thread (oom_reaper) which tries to reclaim additional : memory by preemptively reaping the anonymous or swapped out memory owned : by the oom victim under an assumption that such a memory won't be needed : when its owner is killed and kicked from the userspace anyway. There is : one notable exception to this, though, if the OOM victim was in the : process of coredumping the result would be incomplete. This is considered : a reasonable constrain because the overall system health is more important : than debugability of a particular application. : : A kernel thread has been chosen because we need a reliable way of : invocation so workqueue context is not appropriate because all the workers : might be busy (e.g. allocating memory). Kswapd which sounds like another : good fit is not appropriate as well because it might get blocked on locks : during reclaim as well. particularly this "workqueue context is not appropriate because all the workers might be busy (e.g. allocating memory)" part. I think printk should switch to sync mode in this case, since printk now does queue_work(system_wq, work). um... console_verbose() call from oom kill? but it'll be nice to return back to async mode once (if) memory pressure goes away. -ss -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/