Messages in this thread Patch in this message | | | Date | Tue, 19 Jun 2012 16:32:46 +0800 | From | Xiao Guangrong <> | Subject | [PATCH 01/10] zcache: fix preemptable memory allocation in atomic context |
| |
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
Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> --- drivers/staging/zcache/zcache-main.c | 5 ----- 1 files changed, 0 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/zcache/zcache-main.c b/drivers/staging/zcache/zcache-main.c index 03f690b..d215fb4 100644 --- a/drivers/staging/zcache/zcache-main.c +++ b/drivers/staging/zcache/zcache-main.c @@ -45,13 +45,8 @@ #include <linux/frontswap.h> #endif
-#if 0 /* this is more aggressive but may cause other problems? */ #define ZCACHE_GFP_MASK (GFP_ATOMIC | __GFP_NORETRY | __GFP_NOWARN) -#else -#define ZCACHE_GFP_MASK \ - (__GFP_FS | __GFP_NORETRY | __GFP_NOWARN | __GFP_NOMEMALLOC) -#endif
#define MAX_POOLS_PER_CLIENT 16
-- 1.7.7.6
| |