On 06/19/2012 03:32 AM, Xiao Guangrong wrote:
zcache_do_preload uses ZCACHE_GFP_MASK to allocate memory that will be sleep,
but zcache_do_preload is called in zcache_put_page where IRQ is disabled
Fix it by use GFP_ATOMIC flag
Did you get a might_sleep warning on this? I haven't seen this being an
issue.
GFP_ATOMIC only modifies the existing mask to allow allocation use the
emergency pool. It is __GFP_WAIT not being set that prevents sleep. We
don't want to use the emergency pool since we make large, long lived
allocations with this mask.
--
Seth
--
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>