Thread (15 messages) 15 messages, 2 authors, 2007-08-27

Re: [patch 1/1] alloc_pages(): permit get_zeroed_page(GFP_ATOMIC) from interrupt context

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2007-08-27 20:33:47

On Mon, 27 Aug 2007 13:13:16 -0700 (PDT)
Christoph Lameter [off-list ref] wrote:
On Thu, 23 Aug 2007, akpm@linux-foundation.org wrote:
quoted
See http://bugzilla.kernel.org/show_bug.cgi?id=8928

I think it makes sense to permit a non-BUGging get_zeroed_page(GFP_ATOMIC)
from interrupt context.
AFAIK this works now. GFP_ATOMIC does not set __GFP_HIGHMEM and thus the 
check

	VM_BUG_ON((gfp_flags & __GFP_HIGHMEM) && in_interrupt());

does not trigger
The crash happens in

	clear_highpage
	->kmap_atomic
	  ->kmap_atomic_prot
	    ->BUG_ON(!pte_none(*(kmap_pte-idx)));

ie: this CPU held a kmap slot when the interrupt happened.


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help