From owner-freebsd-fs Wed Oct 17 6:12:40 2001 Delivered-To: freebsd-fs@freebsd.org Received: from flood.ping.uio.no (flood.ping.uio.no [129.240.78.31]) by hub.freebsd.org (Postfix) with ESMTP id DDA7037B405; Wed, 17 Oct 2001 06:12:37 -0700 (PDT) Received: by flood.ping.uio.no (Postfix, from userid 2602) id 7683414C2E; Wed, 17 Oct 2001 15:12:35 +0200 (CEST) X-URL: http://www.ofug.org/~des/ X-Disclaimer: The views expressed in this message do not necessarily coincide with those of any organisation or company with which I am or have been affiliated. To: Matthew Dillon Cc: John Baldwin , Bruce Evans , fs@FreeBSD.ORG Subject: Re: Some questions regarding vfs / ffs References: <200110170229.f9H2Tph84237@apollo.backplane.com> From: Dag-Erling Smorgrav Date: 17 Oct 2001 15:12:35 +0200 In-Reply-To: Message-ID: Lines: 24 User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Dag-Erling Smorgrav writes: > Actually, there's nothing screwy about sched_sync(), except that I > overlooked the fact that it calls sync_fsync() (through VOP_FSYNC()) > which calls ffs_sync(). Judging from collected stats, I'm wondering > if there's really any point in calling ffs_sync() (indirectly) from > sched_sync(), as it seems to rarely actually *do* much except screw up > my interrupt latency. I guess it's useful as a safety net, but I > don't really see how a vnode can be dirty and not on the sync list? This apparently *does* happen, but rarely enough that it might be a race condition between the syncer and the code I added to cound vnodes that ffs_sync() considered dirty but that weren't on the worklist. I thought it might happen when the file system was mounted async, but apparently it doesn't; the only case in which I'm not entirely sure that a dirty vnode is put on the worklist is when it's dirtied by a pure metadata update, but empirical tests show that doing tons of metadata updates (touch(1)ing hundreds of thousands of files) does not significantly increase the number of dirty vnodes that are not on the worklist, even on an async file system. DES -- Dag-Erling Smorgrav - des@ofug.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message