Re: [PATCH -mm v2] mm: have order > 0 compaction start off where itleft

From: Andrew Morton
Date: Wed Jul 04 2012 - 03:40:36 EST


On Wed, 04 Jul 2012 11:34:09 +0900 Minchan Kim <minchan@xxxxxxxxxx> wrote:

> > The rest of this patch takes care to ensure that
> > ->compact_cached_free_pfn is aligned to pageblock_nr_pages. But it now
> > appears that this particular site will violate that.
> >
> > What's up? Do we need to fix this site, or do we remove all that
> > make-compact_cached_free_pfn-aligned code?
>
>
> I vote removing the warning because it doesn't related to Rik's incremental compaction.
> Let's see.
>
> high_pfn = min(low_pfn, pfn) = cc->migrate_pfn + pageblock_nr_pages.
> In here, cc->migrate_pfn isn't necessarily pageblock aligined.
> So if we don't consider compact_cached_free_pfn, it can hit.
>
> static void isolate_freepages()
> {
> high_pfn = min(low_pfn, pfn) = cc->migrate_pfn + pageblock_nr_pages;
> for (..) {
> ...
> WARN_ON_ONCE(high_pfn & (pageblock_nr_pages - 1));
>
> }
> }

Please, look at the patch. In numerous places it is aligning
compact_cached_free_pfn to a multiple of pageblock_nr_pages. But in
one place it doesn't do that. So are all those alignment operations
necessary?

--
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/