[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM_iQpVZtOCzWA3wWuG5y7AyOBUx41-81jrt+dSeHvr6eHY4RA@mail.gmail.com>
Date: Thu, 16 Oct 2014 19:33:39 -0700
From: Cong Wang <xiyou.wangcong@...il.com>
To: Oleg Nesterov <oleg@...hat.com>
Cc: Michal Hocko <mhocko@...e.cz>,
David Rientjes <rientjes@...gle.com>,
"Rafael J. Wysocki" <rjw@...ysocki.net>, Tejun Heo <tj@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: + freezer-check-oom-kill-while-being-frozen.patch added to -mm tree
On Thu, Oct 16, 2014 at 3:22 PM, Oleg Nesterov <oleg@...hat.com> wrote:
> On 10/16, Cong Wang wrote:
>>
>> On Thu, Oct 16, 2014 at 2:35 PM, Oleg Nesterov <oleg@...hat.com> wrote:
>> >
>> > If a task B is already frozen, it sleeps in D state.
>> >
>> > If OOM selects B as a victim after that, it won't be woken by
>> > SIGKILL, thus it obviously can't call should_thaw_current() and
>> > notice TIF_MEMDIE.
>>
>> I see your point now, it would be more clear if you can just quote
>> the patch instead of changelog.
>>
>> So are you saying the loop in __refrigerator() is useless?
>
> No.
>
>> Since
>> it will always stay in asleep after schedule()?
>
> Not always. But it will stay asleep in this particular case.
Hmm, so we still need to wake it up in oom killer:
if (test_tsk_thread_flag(task, TIF_MEMDIE)) {
if (unlikely(frozen(task)))
wake_up_state(task, TASK_UNINTERRUPTIBLE);
I will update the patch if Michal doesn't.
--
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