rpms/kernel/devel linux-2.6-vm-clear-unreclaimable.patch, NONE, 1.1 kernel-2.6.spec, 1.1825, 1.1826

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Jan 6 08:08:16 UTC 2006


Author: davej

Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv16751

Modified Files:
	kernel-2.6.spec 
Added Files:
	linux-2.6-vm-clear-unreclaimable.patch 
Log Message:
tweak oom killer.


linux-2.6-vm-clear-unreclaimable.patch:
 filemap.c    |    7 +++++++
 page_alloc.c |    6 ++++++
 2 files changed, 13 insertions(+)

--- NEW FILE linux-2.6-vm-clear-unreclaimable.patch ---
--- linux-2.6.14/mm/filemap.c~	2005-12-10 01:47:15.000000000 -0500
+++ linux-2.6.14/mm/filemap.c	2005-12-10 01:47:46.000000000 -0500
@@ -471,11 +471,18 @@ EXPORT_SYMBOL(unlock_page);
  */
 void end_page_writeback(struct page *page)
 {
+	struct zone *zone = page_zone(page);
 	if (!TestClearPageReclaim(page) || rotate_reclaimable_page(page)) {
 		if (!test_clear_page_writeback(page))
 			BUG();
 	}
 	smp_mb__after_clear_bit();
+	if (zone->all_unreclaimable) {
+		spin_lock(&zone->lock);
+		zone->all_unreclaimable = 0;
+		zone->pages_scanned = 0;
+		spin_unlock(&zone->lock);
+	}
 	wake_up_page(page, PG_writeback);
 }
 EXPORT_SYMBOL(end_page_writeback);
--- linux-2.6.14/mm/page_alloc.c~	2005-12-10 01:47:51.000000000 -0500
+++ linux-2.6.14/mm/page_alloc.c	2005-12-10 01:48:25.000000000 -0500
@@ -657,6 +657,12 @@ static void fastcall free_hot_cold_page(
 	pcp->count++;
 	if (pcp->count >= pcp->high)
 		pcp->count -= free_pages_bulk(zone, pcp->batch, &pcp->list, 0);
+	else if (zone->all_unreclaimable) {
+		spin_lock(&zone->lock);
+		zone->all_unreclaimable = 0;
+		zone->pages_scanned = 0;
+		spin_unlock(&zone->lock);
+	}
 	local_irq_restore(flags);
 	put_cpu();
 }


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.1825
retrieving revision 1.1826
diff -u -r1.1825 -r1.1826
--- kernel-2.6.spec	6 Jan 2006 07:37:03 -0000	1.1825
+++ kernel-2.6.spec	6 Jan 2006 08:08:13 -0000	1.1826
@@ -379,6 +379,7 @@
 Patch2000: linux-2.6-vm-oomkiller-debugging.patch
 Patch2001: linux-2.6-vm-silence-atomic-alloc-failures.patch
 Patch2002: linux-2.6-vm-debug.patch
+Patch2003: linux-2.6-vm-clear-unreclaimable.patch
 
 # ACPI patches.
 Patch2100: linux-2.6-acpi-thinkpad-c2c3.patch
@@ -896,6 +897,8 @@
 %patch2001 -p1
 # Try to trace some negative pagecount errors.
 %patch2002 -p1
+# VM oom killer tweaks.
+%patch2003 -p1
 
 # ACPI patches.
 # Blacklist another 'No C2/C3 states' Thinkpad R40e BIOS.
@@ -1423,6 +1426,7 @@
 - don't confuse wireless security lock as a mouse.
 - Hush some debug messages in w1 driver.
 - Disable input layer on iseries.
+- VM OOM killer tweaks.
 
 * Thu Jan  5 2006 Dave Jones <davej at redhat.com>
 - Try to debug some negative pagecount errors.




More information about the fedora-cvs-commits mailing list