Messages in this thread Patch in this message | | | Date | Fri, 29 Jan 1999 16:28:00 +0100 | From | "Dr. Werner Fink" <> | Subject | 2.2.1 seems to be stable under high load |
| |
Hi,
I've run some tests with high system loads. I'm using the command
while true; do make clean; make MAKE='make -j10'; done
in two kernel trees at the same time to hold the system (PII, 400MHz, 128MB, 2x128MB swap UW-SCSI disk) at high load.
In comparison to 2.2.0 the 2.2.1 remains stable, no deadlock, no oops, and no spontaneous reboot.
I've observed the load progress with xosview and xload. The first remarkable load peek was at 49, whereas the following load curve shows minima at appr. 10 and maxima at 33. It looks like the systems needs time to get a well formed cache, during this time the load curve will reach its highest point.
With this result in mind I've done a little patch to avoid this highest peak. This patch seems to avoid the first mega peak and, as a side effect, the long time average load seems to be higher together with a better interactive response (mouse, ...) than without this little patch.
Werner
------------------------------------------------------------------------ diff -urN linux-2.2.1/mm/vmscan.c linux/mm/vmscan.c --- linux-2.2.1/mm/vmscan.c Tue Jan 26 16:29:18 1999 +++ linux/mm/vmscan.c Fri Jan 29 14:24:18 1999 @@ -310,6 +310,8 @@ { struct task_struct * p, * pbest; int counter, assign, max_cnt; + unsigned long limit = (num_physpages >> 4); + int kswapd = (gfp_mask & __GFP_SWAP); /* * We make one or two passes through the task list, indexed by @@ -339,9 +341,14 @@ read_lock(&tasklist_lock); p = init_task.next_task; for (; p != &init_task; p = p->next_task) { + unsigned long rss = p->mm->rss; if (!p->swappable) continue; - if (p->mm->rss <= 0) + if (rss <= 0) + continue; + if (kswapd && p == current->next_run && rss < limit) + continue; + if (p == current && rss < limit) continue; /* Refresh swap_cnt? */ if (assign) @@ -522,4 +529,4 @@ retval = do_try_to_free_pages(gfp_mask); return retval; } - + - 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/
| |