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@
