linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH mm] fix swapoff breakage; however...
@ 2007-09-17 18:57 Hugh Dickins
  2007-09-17 19:12 ` Balbir Singh
  0 siblings, 1 reply; 6+ messages in thread
From: Hugh Dickins @ 2007-09-17 18:57 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Balbir Singh, linux-kernel, linux-mm

rc4-mm1's memory-controller-memory-accounting-v7.patch broke swapoff:
it extended unuse_pte_range's boolean "found" return code to allow an
error return too; but ended up returning found (1) as an error.
Replace that by success (0) before it gets to the upper level.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
---
More fundamentally, it looks like any container brought over its limit in
unuse_pte will abort swapoff: that doesn't doesn't seem "contained" to me.
Maybe unuse_pte should just let containers go over their limits without
error?  Or swap should be counted along with RSS?  Needs reconsideration.

 mm/swapfile.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- 2.6.23-rc4-mm1/mm/swapfile.c	2007-09-07 13:09:42.000000000 +0100
+++ linux/mm/swapfile.c	2007-09-17 15:14:47.000000000 +0100
@@ -642,7 +642,7 @@ static int unuse_mm(struct mm_struct *mm
 			break;
 	}
 	up_read(&mm->mmap_sem);
-	return ret;
+	return (ret < 0)? ret: 0;
 }
 
 /*

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-09-18  4:23 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-09-17 18:57 [PATCH mm] fix swapoff breakage; however Hugh Dickins
2007-09-17 19:12 ` Balbir Singh
2007-09-17 19:51   ` Hugh Dickins
2007-09-17 20:48     ` Balbir Singh
2007-09-17 22:36       ` Hugh Dickins
2007-09-18  4:23         ` Balbir Singh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox