On Mon, Mar 18, 2013 at 07:11:30PM +0800, Wanpeng Li wrote: > >@@ -2864,46 +2879,21 @@ static unsigned long balance_pgdat(pg_data_t *pgdat, > >int order, > > if (try_to_freeze() || kthread_should_stop()) > > break; > > > >- /* If no reclaim progress then increase scanning priority */ > >- if (sc.nr_reclaimed - nr_reclaimed == 0) > >- raise_priority = true; > >+ /* Compact if necessary and kswapd is reclaiming efficiently */ > >+ this_reclaimed = sc.nr_reclaimed - nr_reclaimed; > >+ if (order && pgdat_needs_compaction && > >+ this_reclaimed > nr_to_reclaim) > >+ compact_pgdat(pgdat, order); > > > > Hi Mel, > > If you should check compaction_suitable here to confirm it's not because > other reasons like large number of pages under writeback to avoid blind > compaction. :-) >
This starts as a question but it is not a question so I am not sure how I should respond. Checking compaction_suitable here is unnecessary because compact_pgdat() makes the same check when it calls compact_zone(). -- Mel Gorman SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

