On Wed, 1 Feb 2012 17:41:01 +0300 Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > "order" is -1 when compacting via /proc/sys/vm/compact_memory. Making > it unsigned causes a bug in __compact_pgdat() when we test: > > if (cc->order < 0 || !compaction_deferred(zone, cc->order)) > compact_zone(zone, cc); > > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > > diff --git a/mm/compaction.c b/mm/compaction.c > index 382831e..5f80a11 100644 > --- a/mm/compaction.c > +++ b/mm/compaction.c > @@ -35,7 +35,7 @@ struct compact_control { > unsigned long migrate_pfn; /* isolate_migratepages search base */ > bool sync; /* Synchronous migration */ > > - unsigned int order; /* order a direct compactor needs */ > + int order; /* order a direct compactor needs */ > int migratetype; /* MOVABLE, RECLAIMABLE etc */ > struct zone *zone; > }; One would expect this to significantly change the behaviour of /proc/sys/vm/compact_memory. Enfeebled minds want to know: is the new behaviour better or worse than the old behaviour? -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html