Re: [PATCH 3/5] mm: Reclaim small amounts of memory when an external fragmentation event occurs

From: Mel Gorman
Date: Wed Oct 31 2018 - 12:56:58 EST


On Wed, Oct 31, 2018 at 04:06:43PM +0000, Mel Gorman wrote:
> An external fragmentation event was previously described as
>
> When the page allocator fragments memory, it records the event using
> the mm_page_alloc_extfrag event. If the fallback_order is smaller
> than a pageblock order (order-9 on 64-bit x86) then it's considered
> an event that will cause external fragmentation issues in the future.
>

This had a build error reported by the 0-day bot. It's trivially fixed
with

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 77bcc35903e0..e36c279dfade 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -3317,8 +3317,8 @@ static bool zone_allows_reclaim(struct zone *local_zone, struct zone *zone)
* probably too small. It only makes sense to spread allocations to avoid
* fragmentation between the Normal and DMA32 zones.
*/
-static inline unsigned int alloc_flags_nofragment(struct zone *zone,
- gfp_t gfp_mask)
+static inline unsigned int
+alloc_flags_nofragment(struct zone *zone, gfp_t gfp_mask)
{
if (zone_idx(zone) != ZONE_NORMAL)
return 0;
@@ -3340,7 +3340,8 @@ static inline unsigned int alloc_flags_nofragment(struct zone *zone,
return ALLOC_NOFRAGMENT;
}
#else
-static inline unsigned int alloc_flags_nofragment(struct zone *zone)
+static inline unsigned int
+alloc_flags_nofragment(struct zone *zone, gfp_t gfp_mask)
{
return 0;
}

--
Mel Gorman
SUSE Labs