On Tue 06-09-16 15:52:56, Vlastimil Babka wrote:
[...]
> @@ -3204,6 +3199,15 @@ should_compact_retry(struct alloc_context *ac, int 
> order, int alloc_flags,
>       if (compaction_retries <= max_retries)
>               return true;
>  
> +     /*
> +      * Make sure there is at least one attempt at the highest priority
> +      * if we exhausted all retries at the lower priorities
> +      */
> +check_priority:
> +     if (*compact_priority > MIN_COMPACT_PRIORITY) {
> +             (*compact_priority)--;
> +             return true;

Don't we want to reset compaction_retries here? Otherwise we can consume
all retries on the lower priorities.

Other than that it looks good to me. With that you can add
Acked-by: Michal Hocko <mho...@suse.com>

> +     }
>       return false;
>  }
>  #else
-- 
Michal Hocko
SUSE Labs

Reply via email to