On Mon, Dec 20, 2010 at 5:11 PM, Mark Kettenis <[email protected]> wrote: >> Date: Mon, 20 Dec 2010 16:12:24 +0100 >> From: Claudio Jeker <[email protected]> >> >> With the change in rev. 1.99 of subr_pool() changing the limit >> will no longer set the high watermark as well. >> This causes i386 to stop forwading packets on very busy systems because >> the pool thread is not fast enough to replenish the pool. So reintroduce >> the pool_sethiwat() in this particular case as a workaround. > > Sorry, claudio, but I think you need to fix the driver(s) that have > this issue. Even with adjusting the pool limits you may still end up > with an empty ring, and the driver should be able to restart itself if > mbufs come available again. A potential way to fix this is to start a > timeout if you end up with an empty ring because of mbug allocation > failures, and attempt to refill the ring when the timout fires. >
i think we should restore the behavior to what it was before until we'll have drivers fixed.
