Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Dec 2007 09:13:31 -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:  <20071219171331.GH25053@tnn.dglawrence.com>
In-Reply-To: <814DB7A9-E64F-4BCA-A502-AB5A6E0297D3@eng.oar.net>
References:  <D50B5BA8-5A80-4370-8F20-6B3A531C2E9B@eng.oar.net> <20071217102433.GQ25053@tnn.dglawrence.com> <CD187AD1-8712-418F-9F49-FA3407BA1AC7@eng.oar.net> <20071220011626.U928@besplex.bde.org> <814DB7A9-E64F-4BCA-A502-AB5A6E0297D3@eng.oar.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> >Try it with "find / -type f >/dev/null" to duplicate the problem  
> >almost
> >instantly.
> 
> I was able to verify last night that (cd /; tar -cpf -) > all.tar would
> trigger the problem.  I'm working getting a test running with
> David's ffs_sync() workaround now, adding a few counters there should
> get this narrowed down a little more.

   Unfortunately, the version of the patch that I sent out isn't going to
help your problem. It needs to yield at the top of the loop, but vp isn't
necessarily valid after the wakeup from the msleep. That's a problem that
I'm having trouble figuring out a solution to - the solutions that come
to mind will all significantly increase the overhead of the loop.
   As a very inadequate work-around, you might consider lowering
kern.maxvnodes to something like 20000 - that might be low enough to
not trigger the problem, but also be high enough to not significantly
affect system I/O performance.

-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?20071219171331.GH25053>