On Fri, Jul 08, 2016 at 10:34:47AM +0100, Mel Gorman wrote:
> @@ -3008,7 +3008,17 @@ static bool zone_balanced(struct zone *zone, int 
> order, int classzone_idx)
>  {
>       unsigned long mark = high_wmark_pages(zone);
>  
> -     return zone_watermark_ok_safe(zone, order, mark, classzone_idx);
> +     if (!zone_watermark_ok_safe(zone, order, mark, classzone_idx))
> +             return false;
> +
> +     /*
> +      * If any eligible zone is balanced then the node is not considered
> +      * to be congested or dirty
> +      */
> +     clear_bit(PGDAT_CONGESTED, &zone->zone_pgdat->flags);
> +     clear_bit(PGDAT_DIRTY, &zone->zone_pgdat->flags);

Predicate functions that secretly modify internal state give me the
willies... The diffstat is flat, too. Is this really an improvement?

Reply via email to