LOR - 8.0-STABLE r202128

John Baldwin jhb at freebsd.org
Wed Jan 13 16:05:44 UTC 2010


On Wednesday 13 January 2010 2:30:04 am pluknet wrote:
> 2010/1/13 Gardner Bell <gbell72 at rogers.com>:
> > I got this lock order reversal while running a windows executable through
> > wine.
> 
> I'm guess that is a regression w.r.t S/G pager, which uses kmem_alloc/free
> with vm_object locked and doesn't respect vm_map locks can sleep.
> I'm curious it was back order before 5.1-R.

It's more that it can call free() during the VM object's destructor.  Hmm,
presumably the call to sglist_free() needs to be deferred.  Note that both
the SG and device pagers free fake vm_page_t objects using uma_zfree() from
their destructors.  I guess uma_zfree() will never call kmem_free() directly?

-- 
John Baldwin


More information about the freebsd-stable mailing list