Date: Mon, 17 Dec 2007 02:39:36 -0800 From: David G Lawrence <dg@dglawrence.com> To: Mark Fullmer <maf@eng.oar.net> Cc: freebsd-net@freebsd.org, freebsd-stable@freebsd.org Subject: Re: Packet loss every 30.999 seconds Message-ID: <20071217103936.GR25053@tnn.dglawrence.com> In-Reply-To: <D50B5BA8-5A80-4370-8F20-6B3A531C2E9B@eng.oar.net> References: <D50B5BA8-5A80-4370-8F20-6B3A531C2E9B@eng.oar.net>
next in thread | previous in thread | raw e-mail | index | archive | help
One more comment on my last email... The patch that I included is not
meant as a real fix - it is just a bandaid. The real problem appears to
be that a very large number of vnodes (all of them?) are getting synced
(i.e. calling ffs_syncvnode()) every time. This should normally only
happen for dirty vnodes. I suspect that something is broken with this
check:
if (vp->v_type == VNON || ((ip->i_flag &
(IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE)) == 0 &&
vp->v_bufobj.bo_dirty.bv_cnt == 0)) {
VI_UNLOCK(vp);
continue;
}
...like the i_flag flags aren't ever getting properly cleared (or bv_cnt
is always non-zero).
...but I don't have the time to chase this down.
-DG
David G. Lawrence
President
Download Technologies, Inc. - http://www.downloadtech.com - (866) 399 8500
The FreeBSD Project - http://www.freebsd.org
Pave the road of life with opportunities.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071217103936.GR25053>
