Re: CMA broken in next-20120926

From: Thierry Reding
Date: Tue Oct 09 2012 - 07:02:57 EST


On Tue, Oct 09, 2012 at 11:11:43AM +0100, Mel Gorman wrote:
> On Tue, Oct 09, 2012 at 10:40:10AM +0200, Bartlomiej Zolnierkiewicz wrote:
> > I also need following patch to make CONFIG_CMA=y && CONFIG_COMPACTION=y case
> > work:
> >
> > From: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
> > Subject: [PATCH] mm: compaction: cache if a pageblock was scanned and no pages were isolated - cma fix
> >
> > Patch "mm: compaction: cache if a pageblock was scanned and no pages
> > were isolated" needs a following fix to successfully boot next-20121002
> > kernel (same with next-20121008) with CONFIG_CMA=y and CONFIG_COMPACTION=y
> > (with applied -fix1, -fix2, -fix3 patches from Mel Gorman and also with
> > cmatest module from Thierry Reding compiled in).
> >
>
> Why is it needed to make it boot? CMA should not care about the
> PG_migrate_skip hint being set because it should always ignore it in
> alloc_contig_range() due to cc->ignore_skip_hint. It's not obvious to
> me why this fixes a boot failure and I wonder if it's papering over some
> underlying problem. Can you provide more details please?

I can confirm that on top of next-20121009 this fixes all the remaining
issues with CMA that I've been seeing.

By the way, would it be useful to add the CMA test module to the
mainline tree as a tool to test for this kind of regressions? It could
probably be enhanced to perform more checks or use random allocation
sizes for better coverage.

Thierry

Attachment: pgp00000.pgp
Description: PGP signature