Subject: uvmpg.swpgonly botch
To: None <tech-kern@netbsd.org>
From: Ignatios Souvatzis <is@jocelyn.rhein.de>
List: tech-kern
Date: 04/07/1999 07:34:20
Hello,
I tried a low-memory boot, (4 MB DraCo / 68060 cpu / GENERIC + ISDN kernel)
and shortly after starting sshd (and before xdm
was really visible), I got
panic: uvmexp.swpgonly botch
stopped in pagedaemon at _Debugger+0x6
trace shows:
_Debugger
_panic
_uvmpd_scan_inactive
_uvmpd_scan
_uvm_pageout
_start_page_daemon
_proc_trampoline
with both an April 4 1.4A and yestereves (CET) 1.4_ALPHA kernel (DRACO with
only INET but added i4b). From the code snippet below I guess this is either
a missed uvmexp.swpgonly--, uvmexp.swpages++, or a real problem.
Anything I can do (besides undefining DIAGNOSTIC and pray?) Chuck, anything
you want me to look at from the db> prompt?
Regards,
Ignatios
541 /*
542 * this page is dirty, but we can't page it out
543 * since all pages in swap are only in swap.
544 * reactivate it so that we eventually cycle
545 * all pages thru the inactive queue.
546 */
547 #ifdef DIAGNOSTIC
548 if (uvmexp.swpgonly > uvmexp.swpages) {
549 panic("uvmexp.swpgonly botch");
550 }
551 #endif
552 if ((p->pqflags & PQ_SWAPBACKED) &&
553 uvmexp.swpgonly == uvmexp.swpages) {
554 dirtyreacts++;