]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC 261811,282660,282706:
authorjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 6 Jun 2015 20:37:40 +0000 (20:37 +0000)
committerjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 6 Jun 2015 20:37:40 +0000 (20:37 +0000)
commit40d073c1a2ababc5267a4754ea6c82b29210181e
tree85d1f786e35040377c33682b3abe9618bd3e92b8
parentc99119101e09f7ddedd09c04d5f3efd4ce867ee0
MFC 261811,282660,282706:
Place VM objects on the object list when created and never remove them.

261811:
Fix function name in KASSERT().

282660:
Place VM objects on the object list when created and never remove them.
This is ok since objects come from a NOFREE zone and allows objects to
be locked while traversing the object list without triggering a LOR.

Ensure that objects on the list are marked DEAD while free or stillborn,
and that they have a refcount of zero.  This required updating most of
the pagers to explicitly mark an object as dead when deallocating it.
(Only the vnode pager did this previously.)

282706:
Satisfy vm_object uma zone destructor requirements after r282660 when
vnode object creation raced.

git-svn-id: svn://svn.freebsd.org/base/stable/9@284100 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/vm/default_pager.c
sys/vm/device_pager.c
sys/vm/phys_pager.c
sys/vm/sg_pager.c
sys/vm/swap_pager.c
sys/vm/vm_meter.c
sys/vm/vm_object.c
sys/vm/vnode_pager.c