Date: Wed, 17 Oct 2001 16:03:17 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: Dag-Erling Smorgrav <des@ofug.org>, Paul Saab <ps@yahoo-inc.com> Cc: John Baldwin <jhb@FreeBSD.ORG>, Bruce Evans <bde@FreeBSD.ORG>, fs@FreeBSD.ORG Subject: Re: Some questions regarding vfs / ffs Message-ID: <200110172303.f9HN3Hq37572@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> <xzplmiah0l8.fsf@flood.ping.uio.no>
next in thread | previous in thread | raw e-mail | index | archive | help
    I'm slowly tracking down the issues with sync.  There are three or four.
    The main problem appears to be simply due to the overhead of the locking,
    plus the overhead is a number of recent additions.  For example,
    VOP_GETVOBJECT().  The core vnode scanning loop is extremely
    cycle-sensitive when you have hundreds of thousands of vnodes.  Even
    just adding a subroutine call can tripple the overhead.
    I'm integrating a number of performance fixes for sync into my
    kern.maxvnodes patchset.  The two are tied together, unfortunately,
    due to having to change the vnode list from a LIST to a TAILQ.
    I have made two performance fixes for sync so far, they are available
    in the kern.maxvnodes patch #3 (for -stable only at the moment), at:
	http://apollo.backplane.com/FreeBSD4/
	http://apollo.backplane.com/FreeBSD4/maxvnodes-03.diff
    These performance fixes are to vfs_msync() and ffs_sync().  I have
    not made any performance fixes to qsync() yet (which only applies if
    quotas are turned on).  If hundreds of thousands of vnodes are present
    'sync' eats about 1/5 the cpu it ate before.   The glitch is still there,
    but not as pronounced.  The only way to really get rid of the glitch will
    be to separate the vnode list in the mount structure into two.  A 'clean'
    and a 'dirty' list.  This patch set is pretty messy already so I'm going
    wait on that.
						-Matt
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?200110172303.f9HN3Hq37572>
