Re: [Patch v3 1/2] freezer: check OOM kill while being frozen

From: Tejun Heo
Date: Wed Sep 03 2014 - 11:42:33 EST


Hello, Cong.

On Tue, Sep 02, 2014 at 03:52:40PM -0700, Cong Wang wrote:
> diff --git a/kernel/freezer.c b/kernel/freezer.c
> index 33cbcb0..b06a059 100644
> --- a/kernel/freezer.c
> +++ b/kernel/freezer.c
> @@ -56,7 +56,8 @@ static bool should_thaw_current(bool check_kthr_stop)
> {
> if (!freezing(current) ||
> (check_kthr_stop && kthread_should_stop()) ||
> - test_thread_flag(TIF_MEMDIE))
> + /* It might not be safe to check TIF_MEMDIE for pm freeze */
> + (cgroup_freezing(current) && test_thread_flag(TIF_MEMDIE)))
> return true;
> else
> return false;
>
> Are you happy now, Tejun? :)

Yes, this should be a lot safer. The function still looks weird to me
tho.

if (cond)
return true;
else
return false;

is equivalent to

return cond;

If you're worried that the conditional is too complex and harms
readability you can do

/* explain cond0 */
if (cond0)
return true;

/* explain cond1 */
if (cond1)
return true;

return false;

Thanks.

--
tejun
--
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/