Re: [PATCH v2 5/9] mm/compaction: allow to scan nonmovable pageblock when depleted state

Vlastimil Babka
2015-09-25T10:32:08Z

On 08/24/2015 04:19 AM, Joonsoo Kim wrote:

[...]

>
> Because we just allow freepage scanner to scan non-movable pageblock
> in very limited situation, more scanning events happen. But, allowing
> in very limited situation results in a very important benefit that
> memory isn't fragmented more than before. Fragmentation effect is
> measured on following patch so please refer it.

AFAICS it's measured only for the whole series in the cover letter, no? Just to
be sure I didn't overlook something.

> Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
> ---
> include/linux/mmzone.h | 1 +
> mm/compaction.c | 27 +++++++++++++++++++++++++--
> 2 files changed, 26 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
> index e13b732..5cae0ad 100644
> --- a/include/linux/mmzone.h
> +++ b/include/linux/mmzone.h
> @@ -545,6 +545,7 @@ enum zone_flags {
> */
> ZONE_FAIR_DEPLETED, /* fair zone policy batch depleted */
> ZONE_COMPACTION_DEPLETED, /* compaction possiblity depleted */
> + ZONE_COMPACTION_SCANALLFREE, /* scan all kinds of pageblocks */

"SCANALLFREE" is hard to read. Otherwise yeah, I agree scanning unmovable
pageblocks is necessary sometimes, and this seems to make a reasonable tradeoff.