On Mon 30-01-17 09:55:46, Michal Hocko wrote: > On Sun 29-01-17 00:27:27, Tetsuo Handa wrote: [...] > > Regarding [1], it helped avoiding the too_many_isolated() issue. I can't > > tell whether it has any negative effect, but I got on the first trial that > > all allocating threads are blocked on wait_for_completion() from > > flush_work() > > in drain_all_pages() introduced by "mm, page_alloc: drain per-cpu pages from > > workqueue context". There was no warn_alloc() stall warning message > > afterwords. > > That patch is buggy and there is a follow up [1] which is not sitting in the > mmotm (and thus linux-next) yet. I didn't get to review it properly and > I cannot say I would be too happy about using WQ from the page > allocator. I believe even the follow up needs to have WQ_RECLAIM WQ. > > [1] > http://lkml.kernel.org/r/20170125083038.rzb5f43nptmk7...@techsingularity.net
Did you get chance to test with this follow up patch? It would be interesting to see whether OOM situation can still starve the waiter. The current linux-next should contain this patch. Thanks! -- Michal Hocko SUSE Labs