Re: [PATCH 4/4] mm: compaction: Abort compaction if too many pagesare isolated and caller is asynchronous

From: Mel Gorman
Date: Tue Jun 07 2011 - 12:27:03 EST


On Wed, Jun 08, 2011 at 12:50:29AM +0900, Minchan Kim wrote:
> > <SNIP>
> > @@ -533,8 +544,14 @@ static int compact_zone(struct zone *zone, struct compact_control *cc)
> > unsigned long nr_migrate, nr_remaining;
> > int err;
> >
> > - if (!isolate_migratepages(zone, cc))
> > + switch (isolate_migratepages(zone, cc)) {
> > + case ISOLATE_ABORT:
>
> In this case, you change old behavior slightly.
> In old case, we return COMPACT_PARTIAL to cancel migration.
> But this patch makes to return COMPACT_SUCCESS.
> At present, return value of compact_zone is only used by __alloc_pages_direct_compact
> and it only consider COMPACT_SKIPPED so it would be not a problem.
> But I think it would be better to return COMPACT_PARTIAL instead of COMPACT_CONTINUE
> for consistency with compact_finished and right semantic for the future user of compact_zone.
>

Agreed. Thanks.

--
Mel Gorman
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/