Software suspend testing in 2.6.0-test1

From: Peter Osterlund (petero2@telia.com)
Date: Thu Jul 17 2003 - 14:46:32 EST


Hi,

I have done some testing of the software suspend function in
2.6.0-test1. It works mostly very well, but I have found two problems.

The first problem is that software suspend fails if a process is
stopped before you invoke suspend. (For example, by starting cat from
the shell and pressing ctrl-z.) When the processes are woken up again,
the cat process is stuck in the schedule loop in refrigerator(),
sucking up all available cpu time.

The second problem is that freeing memory seems to be much slower than
it has to be. It appears to be caused by the call to
blk_congestion_wait() in balance_pgdat(). The patch below makes page
freeing much faster, although I'm quite sure the patch is not correct.

How can we fix this properly? The disk is mostly idle during page
freeing, but it looks like blk_congestion_wait still doesn't return
until the timeout expires. I tried HZ/2 and that made the page freeing
extremely slow.

--- linux/mm/vmscan.c.old Thu Jul 17 21:30:09 2003
+++ linux/mm/vmscan.c Thu Jul 17 21:29:58 2003
@@ -930,7 +930,7 @@
                 }
                 if (all_zones_ok)
                         break;
- blk_congestion_wait(WRITE, HZ/10);
+ blk_congestion_wait(WRITE, HZ/50);
         }
         return nr_pages - to_free;
 }

-- 
Peter Osterlund - petero2@telia.com
http://w1.894.telia.com/~u89404340
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jul 23 2003 - 22:00:30 EST