[kernel] r15994 - in dists/sid/linux-2.6/debian: . patches/bugfix/x86 patches/series

Ben Hutchings benh at alioth.debian.org
Sun Jul 18 20:46:55 UTC 2010


Author: benh
Date: Sun Jul 18 20:46:53 2010
New Revision: 15994

Log:
drm/i915: Add 'reclaimable' to i915 self-reclaimable page allocations

(really closes: #534422, we hope)

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-add-reclaimable-to-i915-self-reclaimable-pa.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/18

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	Sun Jul 18 20:43:42 2010	(r15993)
+++ dists/sid/linux-2.6/debian/changelog	Sun Jul 18 20:46:53 2010	(r15994)
@@ -11,6 +11,8 @@
   * rt3090sta: Replace with rt2860sta (Closes: #588863)
   * [i386/686] Remove AMD K6 from the list of supported processors; it
     does not implement the CMOV instruction
+  * drm/i915: Add 'reclaimable' to i915 self-reclaimable page allocations
+    (really closes: #534422, we hope)
 
   [ Martin Michlmayr ]
   * Add some patches from the Orion tree, including support for Marvell's

Added: dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-add-reclaimable-to-i915-self-reclaimable-pa.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-add-reclaimable-to-i915-self-reclaimable-pa.patch	Sun Jul 18 20:46:53 2010	(r15994)
@@ -0,0 +1,52 @@
+From: Linus Torvalds <torvalds at linux-foundation.org>
+Date: Sun, 18 Jul 2010 09:44:37 -0700
+Subject: [PATCH] drm/i915: add 'reclaimable' to i915 self-reclaimable page allocations
+
+commit cd9f040df6ce46573760a507cb88192d05d27d86 upstream.
+
+The hibernate issues that got fixed in commit 985b823b9192 ("drm/i915:
+fix hibernation since i915 self-reclaim fixes") turn out to have been
+incomplete.  Vefa Bicakci tested lots of hibernate cycles, and without
+the __GFP_RECLAIMABLE flag the system eventually fails to resume.
+
+With the flag added, Vefa can apparently hibernate forever (or until he
+gets bored running his automated scripts, whichever comes first).
+
+The reclaimable flag was there originally, and was one of the flags that
+were dropped (unintentionally) by commit 4bdadb978569 ("drm/i915:
+Selectively enable self-reclaim") that introduced all these problems,
+but I didn't want to just blindly add back all the flags in commit
+985b823b9192, and it looked like __GFP_RECLAIM wasn't necessary.  It
+clearly was.
+
+I still suspect that there is some subtle reason we're missing that
+causes the problems, but __GFP_RECLAIMABLE is certainly not wrong to use
+in this context, and is what the code historically used.  And we have no
+idea what the causes the corruption without it.
+
+Reported-and-tested-by: M. Vefa Bicakci <bicave at superonline.com>
+Cc: Dave Airlie <airlied at gmail.com>
+Cc: Chris Wilson <chris at chris-wilson.co.uk>
+Cc: KOSAKI Motohiro <kosaki.motohiro at jp.fujitsu.com>
+Cc: Hugh Dickins <hugh.dickins at tiscali.co.uk>
+Cc: stable at kernel.org
+Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
+---
+ drivers/gpu/drm/i915/i915_gem.c |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
+index 0743858..8757ecf 100644
+--- a/drivers/gpu/drm/i915/i915_gem.c
++++ b/drivers/gpu/drm/i915/i915_gem.c
+@@ -2241,6 +2241,7 @@ i915_gem_object_get_pages(struct drm_gem_object *obj,
+ 		page = read_cache_page_gfp(mapping, i,
+ 					   GFP_HIGHUSER |
+ 					   __GFP_COLD |
++					   __GFP_RECLAIMABLE |
+ 					   gfpmask);
+ 		if (IS_ERR(page))
+ 			goto err_pages;
+-- 
+1.7.1
+

Modified: dists/sid/linux-2.6/debian/patches/series/18
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/18	Sun Jul 18 20:43:42 2010	(r15993)
+++ dists/sid/linux-2.6/debian/patches/series/18	Sun Jul 18 20:46:53 2010	(r15994)
@@ -61,3 +61,4 @@
 + features/all/rt28x0/0040-Staging-rt-2860-2870-sta-Use-request_firmware-to-loa.patch
 + features/all/rt28x0/0041-Staging-rt2860-correct-onstack-wait_queue_head-decla.patch
 + features/all/rt28x0/0042-Staging-rt2860-add-Belkin-F5D8055-Wireless-N-USB-Don.patch
++ bugfix/x86/drm-i915-add-reclaimable-to-i915-self-reclaimable-pa.patch



More information about the Kernel-svn-changes mailing list