[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <3568281407737493@web29j.yandex.ru>
Date: Mon, 11 Aug 2014 10:11:33 +0400
From: Kirill Tkhai <tkhai@...dex.ru>
To: Oleg Nesterov <oleg@...hat.com>,
Peter Zijlstra <peterz@...radead.org>
Cc: Fengguang Wu <fengguang.wu@...el.com>,
Dave Hansen <dave.hansen@...el.com>,
LKML <linux-kernel@...r.kernel.org>, "lkp@...org" <lkp@...org>
Subject: Re: [sched] Out of memory: Kill process 2999 (rc) score 9 or sacrifice child
10.08.2014, 19:31, "Oleg Nesterov" <oleg@...hat.com>:
> On 08/09, Peter Zijlstra wrote:
>> That would suggest we're failing to do the TASK_DEAD thing properly, and
>> ARGH! bloody obvious why, see the this_rq() comment right before the
>> finish_task_switch() call in context_switch().
>
> Off-topic, but perhaps we can make this a bit more clear?
>
> Hmm. But after I actually did this change I can't understand if it makes
> this more clean or uglifies the code. See the patch below.
>
> OTOH, "int cpu" in __schedule() looks pointless and should die? Both
> rcu_note_context_switch() and wq_worker_sleeping() can use
> raw_smp_processor_id() ? In fact I think wq_worker_sleeping() doesn't
> need the "task" argument too.
>
> And... Doesn't schedule_tail() need preempt_enable() before
> finish_task_switch() ? IOW, shouldn't it do
>
> #ifndef __ARCH_WANT_UNLOCKED_CTXSW
> preempt_disable();
> #endif
> finish_task_switch();
> post_schedule(rq);
>
> preempt_enable();
>
> or I am totally confused?
You're sure, this was discussed here:
https://lkml.org/lkml/2014/2/14/243
--
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