Skip site navigation (1)Skip section navigation (2)
Date:      17 Oct 2001 07:32:08 +0200
From:      Dag-Erling Smorgrav <des@ofug.org>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        John Baldwin <jhb@FreeBSD.ORG>, fs@FreeBSD.ORG
Subject:   Re: Some questions regarding vfs / ffs
Message-ID:  <xzphesyu90n.fsf@flood.ping.uio.no>
In-Reply-To: <xzpg08jvsg6.fsf@flood.ping.uio.no>
References:  <XFMail.011016191649.jhb@FreeBSD.org> <xzpk7xvvwbw.fsf@flood.ping.uio.no> <200110170229.f9H2Tph84237@apollo.backplane.com> <xzpg08jvsg6.fsf@flood.ping.uio.no>

next in thread | previous in thread | raw e-mail | index | archive | help
Dag-Erling Smorgrav <des@ofug.org> writes:
> Somebody on IRC suggested changing ffs_sync() to traverse the synclist
> instead of the mountpoint's vnode list, and just comparing v_mount to
> mp and ignoring vnodes that aren't "ours".  It would work, but gives
> me goosebumps for some reason.

Another possibility, of course, is to have ffs_sync() simply check if
the vnode is on a worklist (v_flags & VONWORKLIST != 0) but that
requires acquiring the vnode interlock, so we gain nothing.

> All of this only solves part of the problem, though - the ffs_sync()
> part - there's still something screwy with sched_sync(), but I'll need
> to acquite more profiling data to figure out just *what*.

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?

Ditching the syncer nodes will also (finally) allow FreeBSD laptops to
let their disks spin down when idle...

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?xzphesyu90n.fsf>