[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] add PF_MEMALLOC to __alloc_pages()



Rik van Riel <riel@conectiva.com.br> writes:

> Hi Linus, Alan, Mike,
> 
> the following patch sets PF_MEMALLOC for the current task
> in __alloc_pages() to avoid infinite recursion when we try
> to free memory from __alloc_pages().
> 
> Please apply the patch below, which fixes this (embarrasing)
> bug...
> 
[snip]
>  		 * free ourselves...
>  		 */
>  		} else if (gfp_mask & __GFP_WAIT) {
> +			current->flags |= PF_MEMALLOC;
>  			try_to_free_pages(gfp_mask);
> +			current->flags &= ~PF_MEMALLOC;
>  			memory_pressure++;
>  			if (!order)
>  				goto try_again;
> 

Hm, try_to_free_pages already sets the PF_MEMALLOC flag!
-- 
Zlatko
--
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.eu.org/Linux-MM/