Messages in this thread Patch in this message | | | Date | Wed, 10 Apr 1996 10:47:48 +0200 (MET DST) | From | Bernd Schmidt <> | Subject | make -j problems - "fixed" |
| |
To repeat the problem: "make -j" starts generating GCC segfaults as soon as there are more than about 30 processes on a 8MB machine. I'm still convinced my hardware is OK (the problem happens with 1.3.80 even when all caches are off, and 1.3.15 is OK with the caches on and DRAM timings at maximum), so I did a little binary kernel version search yesterday. I found that the problem occurs only with kernels >=1.3.59, while 1.3.15 and 1.3.58 are perfectly O.K.
I was able to narrow it down a little, and the following patch "fixes" the problem. It simply turns off asynchronous swapping. I hope someone will be able to fix this bug in a more efficient way.
diff -urd linux-1.3.85/mm/vmscan.c linux/mm/vmscan.c --- linux-1.3.85/mm/vmscan.c Sat Apr 6 10:41:15 1996 +++ linux/mm/vmscan.c Wed Apr 10 00:00:05 1996 @@ -402,7 +402,7 @@ swapstats.wakeups++; /* Do the background pageout: */ for (i=0; i < kswapd_ctl.maxpages; i++) - try_to_free_page(GFP_KERNEL, 0, 0); + try_to_free_page(GFP_KERNEL, 0, 1); } }
| |