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

next in thread | previous in thread | raw e-mail | index | archive | help
: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?

    Woa!  No, you can't get rid of sync_fsync().  The syncer worklist only
    applies to vnodes with dirty blocks.  It is not used to schedule
    async meta-data updates (such as atime updates), nor does the worklist
    deal with converting dirty VM pages to dirty buffer cache buffers (though
    this is usually done right off the bat, there are situations where it is
    not done), nor does the worklist deal with lazy quota updates.

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

    This can be fixed fairly easily I think, but you can't ditch the syncer
    vnodes.  We simply have to make the filesystem be a bit smarter about
    syncing the superblock.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>


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?200110171709.f9HH98i97328>