this means statistics might be inconsistent. if the pool_get/put calls are 
appropriately protected then things are safe to run.

we should move to calling pool_setipl on every pool though.

dlg

On 17 Sep 2014, at 9:05 am, David Gwynne <[email protected]> wrote:

> CVSROOT:      /cvs
> Module name:  src
> Changes by:   [email protected]    2014/09/16 17:05:34
> 
> Modified files:
>       sys/kern       : subr_pool.c 
> 
> Log message:
> disable taking the mutex to read pool stats.
> 
> some pool users (eg, mbufs and mbuf clusters) protect calls to pools
> with their own locks that operate at high spl levels, rather than
> pool_setipl() to have pools protect themselves.
> 
> this means pools mtx_enter doesnt necessarily prevent interrupts
> that will use a pool, so we get code paths that try to mtx_enter
> twice, which blows up.
> 
> reported by vlado at bsdbg dot net and matt bettinger
> diagnosed by kettenis@

Reply via email to