On Wed 25-05-16 10:11:23, yoma sophian wrote: > >> free-free_cma = 636kB so you are way below the watermark and that is > > After tracing the __alloc_pages_slowpath, in the 2nd time we call > > get_page_from_freelist, we will purposely put alloc_flags & > > ~ALLOC_NO_WATERMARKS. > > Doesn't that mean kernel will bypass __zone_watermark_ok? > I apologize for my misunderstanding. > (alloc_flags & ~ALLOC_NO_WATERMARKS) will NOT bypass __zone_watermark_ok. > on the contrary, it will filter out watermarks checking. true > there is one thing makes me curious, > why we put alloc_flags = gfp_to_alloc_flags(gfp_mask) in > __alloc_pages_slowpath instead of __alloc_pages_nodemask? Because we want to make the hot path as effective as possible. So the hot path is an optimistic attempt with low watermark target which then falls into the slow path with the full gfp_masks restrictions against min watermark. -- Michal Hocko SUSE Labs -- 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>