From owner-freebsd-current Sun Nov 8 11:25:49 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id LAA10703 for freebsd-current-outgoing; Sun, 8 Nov 1998 11:25:49 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from root.com (implode.root.com [198.145.90.17]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id LAA10695 for ; Sun, 8 Nov 1998 11:25:44 -0800 (PST) (envelope-from xroot@root.com) Received: from implode.root.com (localhost [127.0.0.1]) by root.com (8.8.5/8.8.5) with ESMTP id LAA06586; Sun, 8 Nov 1998 11:24:08 -0800 (PST) Message-Id: <199811081924.LAA06586@root.com> To: Dmitrij Tejblum cc: Eivind Eklund , John Fieber , current@FreeBSD.ORG Subject: Re: The infamous dying daemons bug In-reply-to: Your message of "Sun, 08 Nov 1998 21:06:29 +0300." <199811081806.VAA00888@tejblum.dnttm.rssi.ru> From: David Greenman Reply-To: dg@root.com Date: Sun, 08 Nov 1998 11:24:08 -0800 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG >Eivind Eklund wrote: >> >> Oh, and another aspect: This suddenly started happening. It has been >> stable for 3/4 of a year, and then suddenly started happening >> reproducably one day, after a kernel update while John was doing his >> changes. > >Please don't tell anyone, but I am almost convinced that the bug is >here: > >-----swap_pager.c, line 1132------ > /* > * If we're out of swap space, then attempt to free > * some whenever multiple pages are brought in. We > * must set the dirty bits so that the page contents > * will be preserved. > */ > if (SWAPLOW || > (vm_swap_size < btodb((cnt.v_page_count - cnt.v_wire_count)) * PAGE_SIZE)) { > for (i = 0; i < count; i++) { > m[i]->dirty = VM_PAGE_BITS_ALL; > } > swap_pager_freespace(object, > m[0]->pindex + paging_offset, count); > } >------------------------------------ >If I sysctl out the call to swap_pager_freespace, all symptoms >disappear. This code activates at about the time when the "suggest more >swap space" message printed. IIRC, it was introduced by John Dyson this >winter. > >(Perhaps, the code just triggers a bug elsewhere... No idea what is >wrong). I don't see anything wrong with it, but if it is the cause of the problem, it can safely be removed. I'd suggest that people #if 0 out the code and see if the problem completely vanishes. -DG David Greenman Co-founder/Principal Architect, The FreeBSD Project To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message