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.

Reply via email to