Greg, this doesn't really look like a fix that should go to the stable tree. It doesn't really fix any serious bug. On Thu 22-03-18 14:49:48, Greg KH wrote: > >From foo@baz Thu Mar 22 14:40:24 CET 2018 > From: Michal Hocko <mhocko@xxxxxxxx> > Date: Wed, 3 May 2017 14:54:57 -0700 > Subject: oom: improve oom disable handling > > From: Michal Hocko <mhocko@xxxxxxxx> > > > [ Upstream commit d75da004c708c9fca7b53f7da293a295522414d9 ] > > Tetsuo has reported that sysrq triggered OOM killer will print a > misleading information when no tasks are selected: > > sysrq: SysRq : Manual OOM execution > Out of memory: Kill process 4468 ((agetty)) score 0 or sacrifice child > Killed process 4468 ((agetty)) total-vm:43704kB, anon-rss:1760kB, file-rss:0kB, shmem-rss:0kB > sysrq: SysRq : Manual OOM execution > Out of memory: Kill process 4469 (systemd-cgroups) score 0 or sacrifice child > Killed process 4469 (systemd-cgroups) total-vm:10704kB, anon-rss:120kB, file-rss:0kB, shmem-rss:0kB > sysrq: SysRq : Manual OOM execution > sysrq: OOM request ignored because killer is disabled > sysrq: SysRq : Manual OOM execution > sysrq: OOM request ignored because killer is disabled > sysrq: SysRq : Manual OOM execution > sysrq: OOM request ignored because killer is disabled > > The real reason is that there are no eligible tasks for the OOM killer > to select but since commit 7c5f64f84483 ("mm: oom: deduplicate victim > selection code for memcg and global oom") the semantic of out_of_memory > has changed without updating moom_callback. > > This patch updates moom_callback to tell that no task was eligible which > is the case for both oom killer disabled and no eligible tasks. In > order to help distinguish first case from the second add printk to both > oom_killer_{enable,disable}. This information is useful on its own > because it might help debugging potential memory allocation failures. > > Fixes: 7c5f64f84483 ("mm: oom: deduplicate victim selection code for memcg and global oom") > Link: http://lkml.kernel.org/r/20170404134705.6361-1-mhocko@xxxxxxxxxx > Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> > Reported-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxxxx> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > --- > drivers/tty/sysrq.c | 2 +- > mm/oom_kill.c | 2 ++ > 2 files changed, 3 insertions(+), 1 deletion(-) > > --- a/drivers/tty/sysrq.c > +++ b/drivers/tty/sysrq.c > @@ -375,7 +375,7 @@ static void moom_callback(struct work_st > > mutex_lock(&oom_lock); > if (!out_of_memory(&oc)) > - pr_info("OOM request ignored because killer is disabled\n"); > + pr_info("OOM request ignored. No task eligible\n"); > mutex_unlock(&oom_lock); > } > > --- a/mm/oom_kill.c > +++ b/mm/oom_kill.c > @@ -706,6 +706,7 @@ void exit_oom_victim(void) > void oom_killer_enable(void) > { > oom_killer_disabled = false; > + pr_info("OOM killer enabled.\n"); > } > > /** > @@ -742,6 +743,7 @@ bool oom_killer_disable(signed long time > oom_killer_enable(); > return false; > } > + pr_info("OOM killer disabled.\n"); > > return true; > } > > > Patches currently in stable-queue which might be from mhocko@xxxxxxxx are > > queue-4.9/mm-fix-check-for-reclaimable-pages-in-pf_memalloc-reclaim-throttling.patch > queue-4.9/oom-improve-oom-disable-handling.patch -- Michal Hocko SUSE Labs