On Sat, Nov 26, 2011 at 11:04:56AM -0700, Sverre Froyen wrote: > Ideally, we would need separate pool caches for PCI, ISA, etc., each with its > own set of constraints. These constraints are part of the DMA tag structures. > It would therefore be nice to be able to access the pool cache by the DMA tag > and the size rather than a pool cache name string. Should pool cache (and > pool) be extended to support this?
It may help to have a look at the way that I handle this in ixgbe(4). Start at ixgbe_jcl_reinit() and then have a look at ixgbe_getjcl(). Many improvements to ixgbe(4)'s scheme can be made. For example, instead of a freelist protected by a mutex (ixgbe_extmem_head_t), a pool_cache of ixgbe_extmem_t's could be used. Also, the system should arbitrate between drivers for access to DMA buffers---that would be a big improvement over the current mbuf-cluster scheme where a few driver instances can starve all others of clusters. Dave -- David Young [email protected] Urbana, IL (217) 721-9981
