]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
another .27 patch
authorGreg Kroah-Hartman <gregkh@suse.de>
Tue, 16 Dec 2008 23:41:12 +0000 (15:41 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 16 Dec 2008 23:41:12 +0000 (15:41 -0800)
queue-2.6.27/series
queue-2.6.27/setup_per_zone_pages_min-take-zone-lock-instead-of-zone-lru_lock.patch [new file with mode: 0644]

index f01e4bd857689b5af19ab5524cad4af542fe1a3f..0c1358e88b79c8eec5bc6f480c2c12172fde5931 100644 (file)
@@ -19,3 +19,4 @@ sunrpc-fix-a-performance-regression-in-the-rpc-authentication-code.patch
 b1isa-fix-b1isa_exit-to-really-remove-registered-capi-controllers.patch
 macfb-do-not-overflow-fb_fix_screeninfo.id.patch
 v4l-dvb-avoid-writing-outside-shadow.bytes-array.patch
+setup_per_zone_pages_min-take-zone-lock-instead-of-zone-lru_lock.patch
diff --git a/queue-2.6.27/setup_per_zone_pages_min-take-zone-lock-instead-of-zone-lru_lock.patch b/queue-2.6.27/setup_per_zone_pages_min-take-zone-lock-instead-of-zone-lru_lock.patch
new file mode 100644 (file)
index 0000000..949ddba
--- /dev/null
@@ -0,0 +1,45 @@
+From 1125b4e3949949b44a7c80b619507c6f61d62911 Mon Sep 17 00:00:00 2001
+From: Gerald Schaefer <gerald.schaefer@de.ibm.com>
+Date: Sat, 18 Oct 2008 20:27:11 -0700
+Subject: setup_per_zone_pages_min(): take zone->lock instead of zone->lru_lock
+
+From: Gerald Schaefer <gerald.schaefer@de.ibm.com>
+
+commit 1125b4e3949949b44a7c80b619507c6f61d62911 upstream.
+
+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>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ mm/page_alloc.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/mm/page_alloc.c
++++ b/mm/page_alloc.c
+@@ -4224,7 +4224,7 @@ void setup_per_zone_pages_min(void)
+       for_each_zone(zone) {
+               u64 tmp;
+-              spin_lock_irqsave(&zone->lru_lock, flags);
++              spin_lock_irqsave(&zone->lock, flags);
+               tmp = (u64)pages_min * zone->present_pages;
+               do_div(tmp, lowmem_pages);
+               if (is_highmem(zone)) {
+@@ -4256,7 +4256,7 @@ void setup_per_zone_pages_min(void)
+               zone->pages_low   = zone->pages_min + (tmp >> 2);
+               zone->pages_high  = zone->pages_min + (tmp >> 1);
+               setup_zone_migrate_reserve(zone);
+-              spin_unlock_irqrestore(&zone->lru_lock, flags);
++              spin_unlock_irqrestore(&zone->lock, flags);
+       }
+       /* update totalreserve_pages */