Hi
The actual code in shrink mmap waits for all the pages after
we pass priority pages. The idea is to wait only each
priority pages. I have had such a patch for a while here, it
appears to work here. I send it to Linus in the middle of a
bigger patch that was not accepted and I forgot to send only
this two-liner.
Later, Juan.
diff -urN --exclude-from=/home/lfcia/quintela/work/kernel/exclude ac18/mm/filemap.c prueba/mm/filemap.c
--- ac18/mm/filemap.c Tue Jun 13 23:18:35 2000
+++ prueba/mm/filemap.c Thu Jun 15 00:18:33 2000
@@ -351,7 +351,9 @@
* of zone - it's old.
*/
if (page->buffers) {
- int wait = ((gfp_mask & __GFP_IO) && (nr_dirty-- < 0));
+ int wait = ((gfp_mask & __GFP_IO) && (nr_dirty-- <= 0));
+ if(nr_dirty < 0)
+ nr_dirty = priority;
if (!try_to_free_buffers(page, wait))
goto unlock_continue;
/* page was locked, inode can't go away under us */
-- In theory, practice and theory are the same, but in practice they are different -- Larry McVoy- 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/
This archive was generated by hypermail 2b29 : Thu Jun 15 2000 - 21:00:32 EST