On Mon, Sep 13, 2010 at 10:12:44AM +0600, Anton Maksimenkov wrote: > 2010/9/13 Henning Brauer <lists-open...@bsws.de>: > >> hangs. 1-2 sec after start. > >> --- interrupt --- > >> pool_do_get(d0a10b60,0,0,0,60) at pool_do_get+0x2c2 > >> pool_get(d0a10b60,0,80000000,0,0) at pool_get+0x54 > >> m_gethdr(1,1,80000000,369e99,0) at m_gethdr+0x39 > > too me that simply looks like you are running out of memory in mbpl > > and the pool_get is a M_WAITOK one > > But it not unfreezed even after minute. SSH connections dropped, com > console didn't response (but it can be dropped into ddb, of course).
yes, because you've soaked up all the memory that's available for handling incoming/outgoing network traffic; you've got a bunch of processes that try to grab a limited number of resources, fail to get all they need, and sleep while holding already-allocated mbufs, meaning that nobody else can get them, and none of your processes can advance. That said, the pool_get that's failing in the re driver is set as non-blocking, so it should fail. However, it's hard to see how you're tickling this without seeing the source that you're running, since we don't know how you're cornholing the network stack. > -- > antonvm