> 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.

Reply via email to