setup_per_zone_pages_min(): take zone->lock instead of zone->lru_lock
This replaces zone->lru_lock in setup_per_zone_pages_min() with zone->lock. There seems to be no need for the lru_lock anymore, but there is a need for zone->lock instead, because that function may call move_freepages() via setup_zone_migrate_reserve(). Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com> Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Tested-by: Yasunori Goto <y-goto@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
4b2e38ad70
commit
1125b4e394
|
@ -4242,7 +4242,7 @@ void setup_per_zone_pages_min(void)
|
||||||
for_each_zone(zone) {
|
for_each_zone(zone) {
|
||||||
u64 tmp;
|
u64 tmp;
|
||||||
|
|
||||||
spin_lock_irqsave(&zone->lru_lock, flags);
|
spin_lock_irqsave(&zone->lock, flags);
|
||||||
tmp = (u64)pages_min * zone->present_pages;
|
tmp = (u64)pages_min * zone->present_pages;
|
||||||
do_div(tmp, lowmem_pages);
|
do_div(tmp, lowmem_pages);
|
||||||
if (is_highmem(zone)) {
|
if (is_highmem(zone)) {
|
||||||
|
@ -4274,7 +4274,7 @@ void setup_per_zone_pages_min(void)
|
||||||
zone->pages_low = zone->pages_min + (tmp >> 2);
|
zone->pages_low = zone->pages_min + (tmp >> 2);
|
||||||
zone->pages_high = zone->pages_min + (tmp >> 1);
|
zone->pages_high = zone->pages_min + (tmp >> 1);
|
||||||
setup_zone_migrate_reserve(zone);
|
setup_zone_migrate_reserve(zone);
|
||||||
spin_unlock_irqrestore(&zone->lru_lock, flags);
|
spin_unlock_irqrestore(&zone->lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* update totalreserve_pages */
|
/* update totalreserve_pages */
|
||||||
|
|
Loading…
Reference in a new issue