Message ID | 1536319423-9344-1-git-send-email-penguin-kernel@I-love.SAKURA.ne.jp (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | syzbot: Dump all threads upon OOM. | expand |
On Fri, Sep 7, 2018 at 1:23 PM, Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> wrote: > syzbot is getting stalls with linux-next kernels because dump_tasks() from > out_of_memory() is printing 6600 tasks. Most of these tasks are syzbot > processes but syzbot is supposed not to create so many processes. > Therefore, let's start from checking what these tasks are doing. > This change will be removed after the bug is fixed. > > Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> > Cc: Dmitry Vyukov <dvyukov@google.com> > Cc: Michal Hocko <mhocko@kernel.org> > --- > mm/oom_kill.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/mm/oom_kill.c b/mm/oom_kill.c > index f10aa53..867fd6a 100644 > --- a/mm/oom_kill.c > +++ b/mm/oom_kill.c > @@ -41,6 +41,7 @@ > #include <linux/kthread.h> > #include <linux/init.h> > #include <linux/mmu_notifier.h> > +#include <linux/sched/debug.h> > > #include <asm/tlb.h> > #include "internal.h" > @@ -446,6 +447,10 @@ static void dump_header(struct oom_control *oc, struct task_struct *p) > if (is_dump_unreclaim_slabs()) > dump_unreclaimable_slab(); > } > +#ifdef CONFIG_DEBUG_AID_FOR_SYZBOT > + show_state(); > + panic("Out of memory"); won't this panic on every oom? we have lots of oom's, especially inside of cgroups, but probably global too it would be bad if we crash all machines this way > +#endif > if (sysctl_oom_dump_tasks) > dump_tasks(oc->memcg, oc->nodemask); > } > -- > 1.8.3.1 >
diff --git a/mm/oom_kill.c b/mm/oom_kill.c index f10aa53..867fd6a 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -41,6 +41,7 @@ #include <linux/kthread.h> #include <linux/init.h> #include <linux/mmu_notifier.h> +#include <linux/sched/debug.h> #include <asm/tlb.h> #include "internal.h" @@ -446,6 +447,10 @@ static void dump_header(struct oom_control *oc, struct task_struct *p) if (is_dump_unreclaim_slabs()) dump_unreclaimable_slab(); } +#ifdef CONFIG_DEBUG_AID_FOR_SYZBOT + show_state(); + panic("Out of memory"); +#endif if (sysctl_oom_dump_tasks) dump_tasks(oc->memcg, oc->nodemask); }
syzbot is getting stalls with linux-next kernels because dump_tasks() from out_of_memory() is printing 6600 tasks. Most of these tasks are syzbot processes but syzbot is supposed not to create so many processes. Therefore, let's start from checking what these tasks are doing. This change will be removed after the bug is fixed. Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Michal Hocko <mhocko@kernel.org> --- mm/oom_kill.c | 5 +++++ 1 file changed, 5 insertions(+)