hi, Michal thanks for your reply :) On 2015年10月14日 15:34, Michal Hocko wrote: > On Wed 14-10-15 13:36:51, Pan Xinhui wrote: >> From: Pan Xinhui <xinhuix.pan@xxxxxxxxx> >> >> GFP_RECLAIM_MASK was introduced in commit 6cb062296f73 ("Categorize GFP >> flags"). In slub subsystem, this macro controls slub's allocation >> behavior. In particular, some flags which are not in GFP_RECLAIM_MASK >> will be cleared. So when slub pass this new gfp_flag into page >> allocator, we might lost some very important flags. >> >> There are some mistakes when we introduce __GFP_NO_KSWAPD. This flag is >> used to avoid any scheduler-related codes recursive. But it seems like >> patch author forgot to add it into GFP_RECLAIM_MASK. So lets add it now. > > This is no longer needed because GFP_RECLAIM_MASK contains __GFP_RECLAIM > now - have a look at > http://lkml.kernel.org/r/1442832762-7247-7-git-send-email-mgorman%40techsingularity.net > which is sitting in the mmotm tree. > I have a look at Mel's patchset. yes, it can help fix my kswapd issue. :) So I just need change my kmalloc's gfp_flag to GFP_ATOMIC &~ __GFP_KSWAPD_RECLAIM, then slub will not wakeup kswpad. thanks xinhui >> Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> >> --- >> include/linux/gfp.h | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/include/linux/gfp.h b/include/linux/gfp.h >> index f92cbd2..9ebad4d 100644 >> --- a/include/linux/gfp.h >> +++ b/include/linux/gfp.h >> @@ -130,7 +130,8 @@ struct vm_area_struct; >> /* Control page allocator reclaim behavior */ >> #define GFP_RECLAIM_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_FS|\ >> __GFP_NOWARN|__GFP_REPEAT|__GFP_NOFAIL|\ >> - __GFP_NORETRY|__GFP_MEMALLOC|__GFP_NOMEMALLOC) >> + __GFP_NORETRY|__GFP_MEMALLOC|__GFP_NOMEMALLOC|\ >> + __GFP_NO_KSWAPD) >> >> /* Control slab gfp mask during early boot */ >> #define GFP_BOOT_MASK (__GFP_BITS_MASK & ~(__GFP_WAIT|__GFP_IO|__GFP_FS)) >> -- >> 1.9.1 > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>