BSD VM scanner

BSD vm analyzes object reference counter in page scanner (vm_pageout.c:vm_pageout_scan()):

/*
 * If the object is not being used, we ignore previous 
 * references.
 */
if (m->object->ref_count == 0) {
        vm_page_flag_clear(m, PG_REFERENCED);
        pmap_clear_reference(m);
}
....
/*
 * Only if an object is currently being used, do we use the
 * page activation count stats.
 */
if (actcount && (m->object->ref_count != 0)) {
        vm_pageq_requeue(m);
}
....