> Date: Mon, 20 Dec 2010 17:29:36 +0100 > From: Mike Belopuhov <[email protected]> > > 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.
Probably; but shouldn't we just revert the subr_pool.c change in that case?
