lkml.org 
[lkml]   [1998]   [Oct]   [29]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateThu, 29 Oct 1998 09:48:46 +0100 (CET)
FromAndrea Arcangeli <>
SubjectRe: [patch] my latest oom stuff
On Thu, 29 Oct 1998, Andrea Arcangeli wrote:

>Here the patch:

Woops I forgot to include this piece of the patch:

Index: linux/ipc/shm.c
diff -u linux/ipc/shm.c:1.1.1.3 linux/ipc/shm.c:1.1.1.2.4.3
--- linux/ipc/shm.c:1.1.1.3	Sat Oct 24 15:42:48 1998
+++ linux/ipc/shm.c	Thu Oct 29 09:47:42 1998
@@ -4,6 +4,7 @@
  *         Many improvements/fixes by Bruno Haible.
  * Replaced `struct shm_desc' by `struct vm_area_struct', July 1994.
  * Fixed the shm swap deallocation (shm_unuse()), August 1998 Andrea Arcangeli.
+ * New FP retval logic to automagically detect real OOM, 1998 Andrea Arcangeli.
  */
 
 #include <linux/errno.h>
@@ -701,12 +702,11 @@
 	struct vm_area_struct *shmd;
 	unsigned long swap_nr;
 	unsigned long id, idx;
-	int loop = 0;
-	int counter;
+	int loop = 0, counter;
 	
 	counter = shm_rss >> prio;
 	if (!counter || !(swap_nr = get_swap_page()))
-		return 0;
+		return FP_IMPOSSIBLE;
 
  check_id:
 	shp = shm_segs[swap_id];
@@ -738,7 +738,7 @@
 	if (--counter < 0) { /* failed */
 		failed:
 		swap_free (swap_nr);
-		return 0;
+		return FP_IMPOSSIBLE;
 	}
 	if (shp->attaches)
 	  for (shmd = shp->attaches; ; ) {
@@ -803,7 +803,7 @@
 	swap_successes++;
 	shm_swp++;
 	shm_rss--;
-	return 1;
+	return FP_DONE;
 }
 
 /*


Andrea Arcangeli


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:45    [from the cache]
©2003-2008