On Thu 07-06-18 20:00:20, Tetsuo Handa wrote: [...] > @@ -4238,6 +4237,12 @@ bool gfp_pfmemalloc_allowed(gfp_t gfp_mask) > /* Retry as long as the OOM killer is making progress */ > if (did_some_progress) { > no_progress_loops = 0; > + /* > + * This schedule_timeout_*() serves as a guaranteed sleep for > + * PF_WQ_WORKER threads when __zone_watermark_ok() == false. > + */ > + if (!tsk_is_oom_victim(current)) > + schedule_timeout_uninterruptible(1); > goto retry; > } Nacked-by: Michal Hocko <mhocko@xxxxxxxx> as explainaed several times already. This moving code just to preserve the current logic without any arguments to back them must stop finally. We have way too much of this "just in case" code that nobody really understands and others just pile on top. Seriously this is not how the development should work. -- Michal Hocko SUSE Labs