From owner-cvs-sys Thu Apr 16 01:56:11 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA20773 for cvs-sys-outgoing; Thu, 16 Apr 1998 01:56:11 -0700 (PDT) (envelope-from owner-cvs-sys) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA20572; Thu, 16 Apr 1998 01:55:25 -0700 (PDT) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id SAA04053; Thu, 16 Apr 1998 18:51:05 +1000 Date: Thu, 16 Apr 1998 18:51:05 +1000 From: Bruce Evans Message-Id: <199804160851.SAA04053@godzilla.zeta.org.au> To: cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG, cvs-sys@FreeBSD.ORG, peter@FreeBSD.ORG Subject: Re: cvs commit: src/sys/kern vfs_subr.c Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > Modified files: > sys/kern vfs_subr.c > Log: > When the softdep conversion took place, the periodic vfs_msync() from > update got lost. This is responsible for ensuring that dirty mmap() pages > get periodically written to disk. Without it, long time mmap's might not > have their dirty pages written out at all of the system crashes or isn't > cleanly shut down. This could be nasty if you've got a long-running > writing via mmap(), dirty pages used to get written to disk within 30 > seconds or so. sync_fsync() seems to be called too often for this (approx. every 3 seconds on an idle system). vfs_msync() seems to do a lot every time it is called. We also lost control of the update interval. We also lost waking the sync daemon in vm_pageout_scan(). There is still a wakeup on vfs_update_wakeup, but nothing sleeps on it any more. A better quick fix for most of this is probably to resurrect the update daemon and only call vfs_msync() from it. Bruce