#include <sys/kthread.h>
#include <sys/proc.h>
#include <sys/racct.h>
+#include <sys/refcount.h>
#include <sys/resourcevar.h>
#include <sys/rwlock.h>
#include <sys/smp.h>
bool bogus;
obj = bp->b_bufobj->bo_object;
- KASSERT(obj->paging_in_progress >= bp->b_npages,
+ KASSERT(REFCOUNT_COUNT(obj->paging_in_progress) >= bp->b_npages,
("vfs_vmio_iodone: paging in progress(%d) < b_npages(%d)",
- obj->paging_in_progress, bp->b_npages));
+ REFCOUNT_COUNT(obj->paging_in_progress), bp->b_npages));
vp = bp->b_vp;
KASSERT(vp->v_holdcnt > 0,
#include <sys/mutex.h>
#include <sys/proc.h>
#include <sys/racct.h>
+#include <sys/refcount.h>
#include <sys/resourcevar.h>
#include <sys/rwlock.h>
#include <sys/sysctl.h>
{
VM_OBJECT_ASSERT_WLOCKED(fs->first_object);
- MPASS(fs->first_object->paging_in_progress > 0);
+ MPASS(REFCOUNT_COUNT(fs->first_object->paging_in_progress) > 0);
if (!vm_map_trylock_read(fs->map)) {
VM_OBJECT_WUNLOCK(fs->first_object);
MPASS(fs->object == fs->first_object);
VM_OBJECT_ASSERT_WLOCKED(fs->first_object);
- MPASS(fs->first_object->paging_in_progress > 0);
+ MPASS(REFCOUNT_COUNT(fs->first_object->paging_in_progress) > 0);
MPASS(fs->first_object->backing_object == NULL);
MPASS(fs->lookup_still_valid);
("object %p has reservations",
object));
#endif
- KASSERT(object->paging_in_progress == 0,
+ KASSERT(REFCOUNT_COUNT(object->paging_in_progress) == 0,
("object %p paging_in_progress = %d",
- object, object->paging_in_progress));
+ object, REFCOUNT_COUNT(object->paging_in_progress)));
KASSERT(object->resident_page_count == 0,
("object %p resident_page_count = %d",
object, object->resident_page_count));
VM_OBJECT_ASSERT_WLOCKED(object);
- while (object->paging_in_progress) {
+ while (REFCOUNT_COUNT(object->paging_in_progress) > 0) {
VM_OBJECT_WUNLOCK(object);
refcount_wait(&object->paging_in_progress, waitid, PVM);
VM_OBJECT_WLOCK(object);
VM_OBJECT_ASSERT_UNLOCKED(object);
- while (object->paging_in_progress)
+ while (REFCOUNT_COUNT(object->paging_in_progress) > 0)
refcount_wait(&object->paging_in_progress, waitid, PVM);
}
robject->ref_count++;
retry:
- if (robject->paging_in_progress) {
+ if (REFCOUNT_COUNT(robject->paging_in_progress) > 0) {
VM_OBJECT_WUNLOCK(object);
vm_object_pip_wait(robject,
"objde1");
VM_OBJECT_WLOCK(object);
goto retry;
}
- } else if (object->paging_in_progress) {
+ } else if (REFCOUNT_COUNT(object->paging_in_progress) > 0) {
VM_OBJECT_WUNLOCK(robject);
VM_OBJECT_WUNLOCK(object);
refcount_wait(
*/
vm_object_pip_wait(object, "objtrm");
- KASSERT(!object->paging_in_progress,
+ KASSERT(!REFCOUNT_COUNT(object->paging_in_progress),
("vm_object_terminate: pageout in progress"));
KASSERT(object->ref_count == 0,
break;
}
- if (object->paging_in_progress != 0 ||
- backing_object->paging_in_progress != 0) {
+ if (REFCOUNT_COUNT(object->paging_in_progress) > 0 ||
+ REFCOUNT_COUNT(backing_object->paging_in_progress) > 0) {
vm_object_qcollapse(object);
VM_OBJECT_WUNLOCK(backing_object);
break;