On Wed, 11 Mar 2020, Tetsuo Handa wrote: > > diff --git a/mm/vmscan.c b/mm/vmscan.c > > --- a/mm/vmscan.c > > +++ b/mm/vmscan.c > > @@ -2637,6 +2637,8 @@ static void shrink_node_memcgs(pg_data_t *pgdat, struct scan_control *sc) > > unsigned long reclaimed; > > unsigned long scanned; > > > > + cond_resched(); > > + > > Is this safe for CONFIG_PREEMPTION case? If current thread has realtime priority, > can we guarantee that the OOM victim (well, the OOM reaper kernel thread rather > than the OOM victim ?) gets scheduled? > I think it's the best we can do that immediately solves the issue unless you have another idea in mind? > > switch (mem_cgroup_protected(target_memcg, memcg)) { > > case MEMCG_PROT_MIN: > > /* > > >