| version 1.111.2.8, 2007/10/27 11:35:38 |
version 1.111.2.9, 2007/11/15 11:44:56 |
|
|
| { |
{ |
| struct mbuf *m, *next; |
struct mbuf *m, *next; |
| size_t rv = 0; |
size_t rv = 0; |
| int s; |
|
| |
|
| KASSERT(mutex_owned(&so_pendfree_lock)); |
KASSERT(mutex_owned(&so_pendfree_lock)); |
| |
|
|
|
| sodoloanfree(m->m_ext.ext_pgs, m->m_ext.ext_buf, |
sodoloanfree(m->m_ext.ext_pgs, m->m_ext.ext_buf, |
| m->m_ext.ext_size, |
m->m_ext.ext_size, |
| (m->m_ext.ext_flags & M_EXT_LAZY) == 0); |
(m->m_ext.ext_flags & M_EXT_LAZY) == 0); |
| s = splvm(); |
pool_cache_put(mb_cache, m); |
| pool_cache_put(&mbpool_cache, m); |
|
| splx(s); |
|
| } |
} |
| |
|
| mutex_enter(&so_pendfree_lock); |
mutex_enter(&so_pendfree_lock); |