diff options
Diffstat (limited to 'mm/vmscan.c')
| -rw-r--r-- | mm/vmscan.c | 18 | 
1 files changed, 9 insertions, 9 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c index dcb47074ae03..4636d9e822c1 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -260,8 +260,7 @@ shrink_slab_node(struct shrink_control *shrinkctl, struct shrinker *shrinker,  	do_div(delta, lru_pages + 1);  	total_scan += delta;  	if (total_scan < 0) { -		printk(KERN_ERR -		"shrink_slab: %pF negative objects to delete nr=%ld\n", +		pr_err("shrink_slab: %pF negative objects to delete nr=%ld\n",  		       shrinker->scan_objects, total_scan);  		total_scan = freeable;  	} @@ -875,7 +874,8 @@ static unsigned long shrink_page_list(struct list_head *page_list,  		 * end of the LRU a second time.  		 */  		mapping = page_mapping(page); -		if ((mapping && bdi_write_congested(mapping->backing_dev_info)) || +		if (((dirty || writeback) && mapping && +		     bdi_write_congested(mapping->backing_dev_info)) ||  		    (writeback && PageReclaim(page)))  			nr_congested++; @@ -2249,7 +2249,7 @@ static inline bool should_continue_reclaim(struct zone *zone,  		return true;  	/* If compaction would go ahead or the allocation would succeed, stop */ -	switch (compaction_suitable(zone, sc->order)) { +	switch (compaction_suitable(zone, sc->order, 0, 0)) {  	case COMPACT_PARTIAL:  	case COMPACT_CONTINUE:  		return false; @@ -2346,7 +2346,7 @@ static inline bool compaction_ready(struct zone *zone, int order)  	 * If compaction is not ready to start and allocation is not likely  	 * to succeed without it, then keep reclaiming.  	 */ -	if (compaction_suitable(zone, order) == COMPACT_SKIPPED) +	if (compaction_suitable(zone, order, 0, 0) == COMPACT_SKIPPED)  		return false;  	return watermark_ok; @@ -2824,8 +2824,8 @@ static bool zone_balanced(struct zone *zone, int order,  				    balance_gap, classzone_idx, 0))  		return false; -	if (IS_ENABLED(CONFIG_COMPACTION) && order && -	    compaction_suitable(zone, order) == COMPACT_SKIPPED) +	if (IS_ENABLED(CONFIG_COMPACTION) && order && compaction_suitable(zone, +				order, 0, classzone_idx) == COMPACT_SKIPPED)  		return false;  	return true; @@ -2952,8 +2952,8 @@ static bool kswapd_shrink_zone(struct zone *zone,  	 * from memory. Do not reclaim more than needed for compaction.  	 */  	if (IS_ENABLED(CONFIG_COMPACTION) && sc->order && -			compaction_suitable(zone, sc->order) != -				COMPACT_SKIPPED) +			compaction_suitable(zone, sc->order, 0, classzone_idx) +							!= COMPACT_SKIPPED)  		testorder = 0;  	/*  |