diff options
author | jhb <jhb@FreeBSD.org> | 2009-07-24 13:50:29 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2009-07-24 13:50:29 +0000 |
commit | 44220d7e1e07bbf1c88215543c5877abcdb88d29 (patch) | |
tree | 9a9fb32ead80921ec7937e7a600e46e446366436 /sys/vm/vm_pageout.c | |
parent | 4064b20ecefb589d0b9290e558c0abfc5229c120 (diff) | |
download | FreeBSD-src-44220d7e1e07bbf1c88215543c5877abcdb88d29.zip FreeBSD-src-44220d7e1e07bbf1c88215543c5877abcdb88d29.tar.gz |
Add a new type of VM object: OBJT_SG. An OBJT_SG object is very similar to
a device pager (OBJT_DEVICE) object in that it uses fictitious pages to
provide aliases to other memory addresses. The primary difference is that
it uses an sglist(9) to determine the physical addresses for a given offset
into the object instead of invoking the d_mmap() method in a device driver.
Reviewed by: alc
Approved by: re (kensmith)
MFC after: 2 weeks
Diffstat (limited to 'sys/vm/vm_pageout.c')
-rw-r--r-- | sys/vm/vm_pageout.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c index b64215b..19edce1 100644 --- a/sys/vm/vm_pageout.c +++ b/sys/vm/vm_pageout.c @@ -513,7 +513,9 @@ vm_pageout_object_deactivate_pages(pmap, first_object, desired) int actcount, rcount, remove_mode; VM_OBJECT_LOCK_ASSERT(first_object, MA_OWNED); - if (first_object->type == OBJT_DEVICE || first_object->type == OBJT_PHYS) + if (first_object->type == OBJT_DEVICE || + first_object->type == OBJT_SG || + first_object->type == OBJT_PHYS) return; for (object = first_object;; object = backing_object) { if (pmap_resident_count(pmap) <= desired) |