Re: [sched] Out of memory: Kill process 2999 (rc) score 9 or sacrifice child
From: Kirill Tkhai
Date: Mon Aug 11 2014 - 02:18:14 EST
10.08.2014, 19:31, "Oleg Nesterov" <oleg@xxxxxxxxxx>:
> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/