Hi all, Today's linux-next merge of the scsi-post-merge tree got a conflict in mm/page_alloc.c between commit ac77c4123661 ("mm: trigger page reclaim in alloc_contig_range() to stabilise watermarks") from the dma-mapping tree and commit "mm: add extra free kbytes tunable" from the akpm tree. Just context changes. I fixed it up (I think - see below) and can carry the fixes as necessary. -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx diff --cc mm/page_alloc.c index 0e1c6f5,decfbf0..0000000 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@@ -5032,9 -4988,17 +5044,10 @@@ static void setup_per_zone_lowmem_reser calculate_totalreserve_pages(); } -/** - * setup_per_zone_wmarks - called when min_free_kbytes changes - * or when memory is hot-{added|removed} - * - * Ensures that the watermark[min,low,high] values for each zone are set - * correctly with respect to min_free_kbytes. - */ -void setup_per_zone_wmarks(void) +static void __setup_per_zone_wmarks(void) { unsigned long pages_min = min_free_kbytes >> (PAGE_SHIFT - 10); + unsigned long pages_low = extra_free_kbytes >> (PAGE_SHIFT - 10); unsigned long lowmem_pages = 0; struct zone *zone; unsigned long flags; @@@ -5074,16 -5041,13 +5090,18 @@@ * If it's a lowmem zone, reserve a number of pages * proportionate to the zone's size. */ - zone->watermark[WMARK_MIN] = tmp; + zone->watermark[WMARK_MIN] = min; } - zone->watermark[WMARK_LOW] = min_wmark_pages(zone) + (tmp >> 2); - zone->watermark[WMARK_HIGH] = min_wmark_pages(zone) + (tmp >> 1); + zone->watermark[WMARK_LOW] = min_wmark_pages(zone) + + low + (min >> 2); + zone->watermark[WMARK_HIGH] = min_wmark_pages(zone) + + low + (min >> 1); + + zone->watermark[WMARK_MIN] += cma_wmark_pages(zone); + zone->watermark[WMARK_LOW] += cma_wmark_pages(zone); + zone->watermark[WMARK_HIGH] += cma_wmark_pages(zone); + setup_zone_migrate_reserve(zone); spin_unlock_irqrestore(&zone->lock, flags); }
Attachment:
pgpfsxp7dbYmp.pgp
Description: PGP signature