Packet loss every 30.999 seconds

David G Lawrence dg at dglawrence.com
Mon Dec 17 02:39:37 PST 2007


   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.


More information about the freebsd-net mailing list