linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Oleg Nesterov <oleg@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	David Rientjes <rientjes@google.com>,
	David Laight <David.Laight@ACULAB.COM>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Ingo Molnar <mingo@kernel.org>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: oom-kill && frozen()
Date: Wed, 13 Nov 2013 12:20:53 +0900	[thread overview]
Message-ID: <20131113032053.GA19394@mtj.dyndns.org> (raw)
In-Reply-To: <20131112165643.GA31278@redhat.com>

Hello,

On Tue, Nov 12, 2013 at 05:56:43PM +0100, Oleg Nesterov wrote:
> On 11/12, Oleg Nesterov wrote:
> > I am also wondering if it makes any sense to turn PF_FROZEN into
> > TASK_FROZEN, something like (incomplete, probably racy) patch below.
> > Note that it actually adds the new state, not the the qualifier.
> 
> As for the current usage of PF_FROZEN... David, it seems that
> oom_scan_process_thread()->__thaw_task() is dead? Probably this
> was fine before, when __thaw_task() cleared the "need to freeze"
> condition, iirc it was PF_FROZEN.
> 
> But today __thaw_task() can't help, no? the task will simply
> schedule() in D state again.

Yeah, it'll have to be actively excluded using e.g. PF_FREEZER_SKIP,
which, BTW, can usually only be manipulated by the task itself.  I've
been saying this multiple times but this is yet another cost of having
"frozen" as a separate completely alien task state, which is
essentially close to being undefined when viewed from userland.  We're
spreading broken behaviors and complexity throughout the kernel by
making this half broken state visible.  :(

Thanks.

-- 
tejun

  reply	other threads:[~2013-11-13  3:21 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-12 13:53 [PATCH] ipvs: Remove unused variable ret from sync_thread_master() Geert Uytterhoeven
2013-11-12 14:13 ` Peter Zijlstra
2013-11-12 14:21   ` David Laight
2013-11-12 14:31     ` Peter Zijlstra
2013-11-12 14:38       ` David Laight
2013-11-12 16:26       ` Oleg Nesterov
2013-11-12 14:52     ` Peter Zijlstra
2013-11-12 16:21       ` Oleg Nesterov
2013-11-12 16:56         ` oom-kill && frozen() Oleg Nesterov
2013-11-13  3:20           ` Tejun Heo [this message]
2013-11-13 17:07             ` Oleg Nesterov
2013-11-13 17:42               ` Peter Zijlstra
2013-11-13 18:15                 ` Oleg Nesterov
2013-11-13 19:11               ` __refrigerator() && saved task->state Oleg Nesterov
2013-11-13 19:14                 ` Peter Zijlstra
2013-11-13 19:40                   ` Oleg Nesterov
2013-11-12 17:00         ` [PATCH] ipvs: Remove unused variable ret from sync_thread_master() Peter Zijlstra
2013-11-12 18:04           ` Oleg Nesterov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131113032053.GA19394@mtj.dyndns.org \
    --to=tj@kernel.org \
    --cc=David.Laight@ACULAB.COM \
    --cc=geert@linux-m68k.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rientjes@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).