Messages in this thread | | | Date | Mon, 2 Nov 2009 16:00:57 +0900 | Subject | Re: OOM killer, page fault | From | Minchan Kim <> |
| |
On Mon, Nov 2, 2009 at 3:59 PM, KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote: >> On Mon, 2 Nov 2009 13:24:06 +0900 (JST) >> KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote: >> >> > Hi, >> > >> > (Cc to linux-mm) >> > >> > Wow, this is very strange log. >> > >> > > Dear all, >> > > >> > > (please Cc) >> > > >> > > With 2.6.32-rc5 I got that one: >> > > [13832.210068] Xorg invoked oom-killer: gfp_mask=0x0, order=0, oom_adj=0 >> > >> > order = 0 >> >> I think this problem results from 'gfp_mask = 0x0'. >> Is it possible? >> >> If it isn't H/W problem, Who passes gfp_mask with 0x0? >> It's culpit. >> >> Could you add BUG_ON(gfp_mask == 0x0) in __alloc_pages_nodemask's head? > > No. > In page fault case, gfp_mask show meaningless value. Please ignore it. > pagefault_out_of_memory() always pass gfp_mask==0 to oom. > > > mm/oom_kill.c > ==================================== > void pagefault_out_of_memory(void) > { > unsigned long freed = 0; > > blocking_notifier_call_chain(&oom_notify_list, 0, &freed); > if (freed > 0) > /* Got some memory back in the last second. */ > return; > > /* > * If this is from memcg, oom-killer is already invoked. > * and not worth to go system-wide-oom. > */ > if (mem_cgroup_oom_called(current)) > goto rest_and_return; > > if (sysctl_panic_on_oom) > panic("out of memory from page fault. panic_on_oom is selected.\n"); > > read_lock(&tasklist_lock); > __out_of_memory(0, 0); <---- here! > read_unlock(&tasklist_lock); > >
Yeb. Kame already noticed it. :) Thanks for pointing me out, again.
I already suggested another patch. What do you think about it?
-- Kind regards, Minchan Kim -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |