tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: workqueue in if_bnx: static struct work * seems wrong



On Fri, Mar 02, 2012 at 10:29:10AM -0700, Sverre Froyen wrote:
> It's bus_dmamem_map which is using a pool with IPL_NONE. This is one of the 
> issues I was referring to. I think the trick might be to
> 
> 1) allow pool_cache_get to return existing items for an IPL_NONE cache even 
> when called in interrupt context (this will require changes to the pool / 
> pool_cache locking code).

I don't think that's desireable.

> 
> 2) fix the code that manages the low water mark so that it does not run in 
> interrupt context (perhaps use a separate thread to grow the pools).

thers's more problems than this one in this code path. There are adaptative
mutexes, for example. pmap_enter() is just not designed to be called
from interrupt context. It's not just pool_cache.

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index