[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160106064836.GC781@swordfish>
Date: Wed, 6 Jan 2016 15:48:36 +0900
From: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
To: Jan Kara <jack@...e.cz>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>,
Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Petr Mladek <pmladek@...e.cz>,
KY Sri nivasan <kys@...rosoft.com>,
Steven Rostedt <rostedt@...dmis.org>,
linux-kernel@...r.kernel.org
Subject: Re: [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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists