Re: [patch -mm 8/9 v2] oom: avoid oom killer for lowmem allocations

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: David Rientjes
Date: Tuesday, February 16, 2010 - 5:03 pm

On Wed, 17 Feb 2010, KAMEZAWA Hiroyuki wrote:


The endless loop is only helpful if something is going to free memory 
external to the current page allocation: either another task with 
__GFP_WAIT | __GFP_FS that invokes the oom killer, a task that frees 
memory, or a task that exits.

The most notable endless loop in the page allocator is the one when a task 
has been oom killed, gets access to memory reserves, and then cannot find 
a page for a __GFP_NOFAIL allocation:

	do {
		page = get_page_from_freelist(gfp_mask, nodemask, order,
			zonelist, high_zoneidx, ALLOC_NO_WATERMARKS,
			preferred_zone, migratetype);

		if (!page && gfp_mask & __GFP_NOFAIL)
			congestion_wait(BLK_RW_ASYNC, HZ/50);
	} while (!page && (gfp_mask & __GFP_NOFAIL));

We don't expect any such allocations to happen during the exit path, but 
we could probably find some in the fs layer.

I don't want to check sysctl_panic_on_oom in the page allocator because it 
would start panicking the machine unnecessarily for the integrity 
metadata GFP_NOIO | __GFP_NOFAIL allocation, for any 
order > PAGE_ALLOC_COSTLY_ORDER, or for users who can't lock the zonelist 
for oom kill that wouldn't have panicked before.
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch -mm 0/9 v2] oom killer rewrite, David Rientjes, (Mon Feb 15, 3:19 pm)
[patch -mm 5/9 v2] oom: badness heuristic rewrite, David Rientjes, (Mon Feb 15, 3:20 pm)
[patch -mm 6/9 v2] oom: deprecate oom_adj tunable, David Rientjes, (Mon Feb 15, 3:20 pm)
[patch -mm 7/9 v2] oom: replace sysctls with quick mode, David Rientjes, (Mon Feb 15, 3:20 pm)
Re: [patch -mm 6/9 v2] oom: deprecate oom_adj tunable, David Rientjes, (Mon Feb 15, 3:35 pm)
Re: [patch -mm 8/9 v2] oom: avoid oom killer for lowmem al ..., KAMEZAWA Hiroyuki, (Mon Feb 15, 4:57 pm)
Re: [patch -mm 4/9 v2] oom: remove compulsory panic_on_oom ..., KAMEZAWA Hiroyuki, (Mon Feb 15, 5:00 pm)
Re: [patch -mm 8/9 v2] oom: avoid oom killer for lowmem al ..., KAMEZAWA Hiroyuki, (Mon Feb 15, 5:21 pm)
Re: [patch -mm 4/9 v2] oom: remove compulsory panic_on_oom ..., KAMEZAWA Hiroyuki, (Mon Feb 15, 5:23 pm)
[patch] mm: add comment about deprecation of __GFP_NOFAIL, David Rientjes, (Mon Feb 15, 6:13 pm)
Re: [patch] mm: add comment about deprecation of __GFP_NOFAIL, KAMEZAWA Hiroyuki, (Mon Feb 15, 6:26 pm)
Re: [patch -mm 4/9 v2] oom: remove compulsory panic_on_oom ..., KAMEZAWA Hiroyuki, (Tue Feb 16, 1:10 am)
Re: [patch -mm 4/9 v2] oom: remove compulsory panic_on_oom ..., KAMEZAWA Hiroyuki, (Tue Feb 16, 4:42 pm)
Re: [patch -mm 8/9 v2] oom: avoid oom killer for lowmem al ..., KAMEZAWA Hiroyuki, (Tue Feb 16, 4:48 pm)
Re: [patch -mm 4/9 v2] oom: remove compulsory panic_on_oom ..., KAMEZAWA Hiroyuki, (Tue Feb 16, 5:01 pm)
Re: [patch -mm 8/9 v2] oom: avoid oom killer for lowmem al ..., KAMEZAWA Hiroyuki, (Tue Feb 16, 5:03 pm)
Re: [patch -mm 8/9 v2] oom: avoid oom killer for lowmem al ..., David Rientjes, (Tue Feb 16, 5:03 pm)
Re: [patch -mm 4/9 v2] oom: remove compulsory panic_on_oom ..., KAMEZAWA Hiroyuki, (Tue Feb 16, 5:41 pm)
Re: [patch -mm 4/9 v2] oom: remove compulsory panic_on_oom ..., KAMEZAWA Hiroyuki, (Tue Feb 16, 6:03 pm)
Re: [patch -mm 4/9 v2] oom: remove compulsory panic_on_oom ..., KAMEZAWA Hiroyuki, (Tue Feb 16, 7:13 pm)
Re: [patch -mm 4/9 v2] oom: remove compulsory panic_on_oom ..., KAMEZAWA Hiroyuki, (Tue Feb 16, 7:23 pm)
Re: [patch -mm 4/9 v2] oom: remove compulsory panic_on_oom ..., KAMEZAWA Hiroyuki, (Tue Feb 16, 7:34 pm)
Re: [patch -mm 4/9 v2] oom: remove compulsory panic_on_oom ..., KAMEZAWA Hiroyuki, (Tue Feb 16, 8:21 pm)
Re: [patch -mm 4/9 v2] oom: remove compulsory panic_on_oom ..., Daisuke Nishimura, (Sun Feb 21, 10:31 pm)
Re: [patch -mm 4/9 v2] oom: remove compulsory panic_on_oom ..., KAMEZAWA Hiroyuki, (Sun Feb 21, 11:15 pm)
Re: [patch -mm 4/9 v2] oom: remove compulsory panic_on_oom ..., Daisuke Nishimura, (Mon Feb 22, 4:42 am)
Re: [patch -mm 4/9 v2] oom: remove compulsory panic_on_oom ..., KAMEZAWA Hiroyuki, (Mon Feb 22, 4:51 pm)