On Thu 24-05-18 19:51:24, Tetsuo Handa wrote: > Michal Hocko wrote: > > Look. I am fed up with this discussion. You are fiddling with the code > > and moving hacks around with a lot of hand waving. Rahter than trying to > > look at the underlying problem. Your patch completely ignores PREEMPT as > > I've mentioned in previous versions. > > I'm not ignoring PREEMPT. To fix this OOM lockup problem properly, as much > efforts as fixing Spectre/Meltdown problems will be required. This patch is > a mitigation for regression introduced by fixing CVE-2018-1000200. Nothing > is good with deferring this patch. > > > I would be OK with removing the sleep from the out_of_memory path based > > on your argumentation that we have a _proper_ synchronization with the > > exit path now. > > Such attempt should be made in a separate patch. > > You suggested removing this sleep from my patch without realizing that > we need explicit schedule_timeout_*() for PF_WQ_WORKER threads. And that sleep is in should_reclaim_retry. If that is not sufficient it should be addressed rather than spilling more of that crud all over the place. > My patch > is trying to be as conservative/safe as possible (for easier backport) > while reducing the risk of falling into OOM lockup. And it adss more crud > I worry that you are completely overlooking > > char *fmt, ...) > */ > if (!mutex_trylock(&oom_lock)) { > *did_some_progress = 1; > - schedule_timeout_uninterruptible(1); > return NULL; > } > > > part in this patch. I am not. But it doesn't really make much sense to convince you if you are not reading what I am writing. I am done with this thread. Discussion is just a waste of time. -- Michal Hocko SUSE Labs