Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750924AbZKBFFs (ORCPT ); Mon, 2 Nov 2009 00:05:48 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750778AbZKBFFs (ORCPT ); Mon, 2 Nov 2009 00:05:48 -0500 Received: from fgwmail5.fujitsu.co.jp ([192.51.44.35]:46098 "EHLO fgwmail5.fujitsu.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750736AbZKBFFr (ORCPT ); Mon, 2 Nov 2009 00:05:47 -0500 X-SecurityPolicyCheck-FJ: OK by FujitsuOutboundMailChecker v1.3.1 Date: Mon, 2 Nov 2009 14:02:16 +0900 From: KAMEZAWA Hiroyuki To: Minchan Kim Cc: KOSAKI Motohiro , Norbert Preining , linux-kernel@vger.kernel.org, linux-mm Subject: Re: OOM killer, page fault Message-Id: <20091102140216.02567ff8.kamezawa.hiroyu@jp.fujitsu.com> In-Reply-To: <20091102135640.93de7c2a.minchan.kim@barrios-desktop> References: <20091030063216.GA30712@gamma.logic.tuwien.ac.at> <20091102005218.8352.A69D9226@jp.fujitsu.com> <20091102135640.93de7c2a.minchan.kim@barrios-desktop> Organization: FUJITSU Co. LTD. X-Mailer: Sylpheed 2.5.0 (GTK+ 2.10.14; i686-pc-mingw32) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1870 Lines: 68 On Mon, 2 Nov 2009 13:56:40 +0900 Minchan Kim wrote: > On Mon, 2 Nov 2009 13:24:06 +0900 (JST) > KOSAKI Motohiro 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? > Maybe some code returns VM_FAULT_OOM by mistake and pagefault_oom_killer() is called. digging mm/memory.c is necessary... I wonder why...now is this code === static int do_nonlinear_fault(struct mm_struct *mm, struct vm_area_struct *vma, unsigned long address, pte_t *page_table, pmd_t *pmd, unsigned int flags, pte_t orig_pte) { pgoff_t pgoff; flags |= FAULT_FLAG_NONLINEAR; if (!pte_unmap_same(mm, pmd, page_table, orig_pte)) return 0; if (unlikely(!(vma->vm_flags & VM_NONLINEAR))) { /* * Page table corrupted: show pte and kill process. */ print_bad_pte(vma, address, orig_pte, NULL); return VM_FAULT_OOM; } pgoff = pte_to_pgoff(orig_pte); return __do_fault(mm, vma, address, pmd, pgoff, flags, orig_pte); } == Then, OOM...is this really OOM ? Thanks, -Kame -- 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/