Date: Mon, 13 Dec 1999 08:40:07 -0800 (PST) From: Mitja Horvat <mitja@ksop-cscp.si> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/15420: 3.3-RELEASE Kernel freeze Message-ID: <199912131640.IAA96806@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/15420; it has been noted by GNATS. From: Mitja Horvat <mitja@ksop-cscp.si> To: freebsd-gnats-submit@freebsd.org, mitja@ksop-cscp.si Cc: Subject: Re: kern/15420: 3.3-RELEASE Kernel freeze Date: Mon, 13 Dec 1999 18:36:32 +0100 After rerunning the tests with more processes (10+) I noticed that random kernel freezes were still happening. After digging a bit around the swapper code I came up with a third patch. My machine with this patch applied is stable although running for three hours with 15 memory hogs. -------------------------------->8------------------------------------------- diff -u sys.orig/vm/vm_pageout.c sys/vm/vm_pageout.c --- sys.orig/vm/vm_pageout.c Sun Aug 29 18:33:38 1999 +++ sys/vm/vm_pageout.c Mon Dec 13 17:20:38 1999 @@ -1136,8 +1136,9 @@ * make sure that we have swap space -- if we are low on memory and * swap -- then kill the biggest process. */ - if ((vm_swap_size == 0 || swap_pager_full) && - ((cnt.v_free_count + cnt.v_cache_count) < cnt.v_free_min)) { + if (vm_swap_size == 0 && + (cnt.v_free_count + cnt.v_cache_count) < cnt.v_free_min || + swap_pager_full) { bigproc = NULL; bigsize = 0; for (p = allproc.lh_first; p != 0; p = p->p_list.le_next) { @@ -1174,7 +1175,7 @@ bigproc->p_nice = PRIO_MIN; resetpriority(bigproc); wakeup(&cnt.v_free_count); - } + } } return force_wakeup; } -------------------------------->8------------------------------------------- Regards, Mitja To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199912131640.IAA96806>