lkml.org 
[lkml]   [2016]   [Jan]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/7] printk: Hand over printing to console if printing too long
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


\
 
 \ /
  Last update: 2016-01-06 08:01    [W:0.111 / U:0.600 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site