git: 6b3897408521 - main - vm_object: Modify various drivers to allocate OBJT_SWAP objects
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 12 Jul 2022 13:10:38 UTC
The branch main has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=6b38974085215bcd787be0d138411ec57cf0096e
commit 6b38974085215bcd787be0d138411ec57cf0096e
Author: Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2022-07-12 12:51:02 +0000
Commit: Mark Johnston <markj@FreeBSD.org>
CommitDate: 2022-07-12 13:10:15 +0000
vm_object: Modify various drivers to allocate OBJT_SWAP objects
This is in preparation for removal of OBJT_DEFAULT. In particular, it
is now cheap to check whether an OBJT_SWAP object has any swap blocks
allocated, so the benefit of having a separate OBJT_DEFAULT type is
quite marginal, and the OBJT_DEFAULT->SWAP transition is a source of
bugs.
Reviewed by: alc, hselasky, kib
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D35779
---
sys/amd64/vmm/vmm.c | 2 +-
sys/compat/linuxkpi/common/src/linux_shmemfs.c | 2 +-
sys/dev/agp/agp.c | 2 +-
sys/dev/agp/agp_i810.c | 2 +-
sys/dev/drm2/drm_gem.c | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c
index 47299301f5f0..94f99fdb4f1a 100644
--- a/sys/amd64/vmm/vmm.c
+++ b/sys/amd64/vmm/vmm.c
@@ -697,7 +697,7 @@ vm_alloc_memseg(struct vm *vm, int ident, size_t len, bool sysmem)
return (EINVAL);
}
- obj = vm_object_allocate(OBJT_DEFAULT, len >> PAGE_SHIFT);
+ obj = vm_object_allocate(OBJT_SWAP, len >> PAGE_SHIFT);
if (obj == NULL)
return (ENOMEM);
diff --git a/sys/compat/linuxkpi/common/src/linux_shmemfs.c b/sys/compat/linuxkpi/common/src/linux_shmemfs.c
index ead9cc9d9f40..741bb20c1aab 100644
--- a/sys/compat/linuxkpi/common/src/linux_shmemfs.c
+++ b/sys/compat/linuxkpi/common/src/linux_shmemfs.c
@@ -84,7 +84,7 @@ linux_shmem_file_setup(const char *name, loff_t size, unsigned long flags)
filp->f_count = 1;
filp->f_vnode = vp;
- filp->f_shmem = vm_pager_allocate(OBJT_DEFAULT, NULL, size,
+ filp->f_shmem = vm_pager_allocate(OBJT_SWAP, NULL, size,
VM_PROT_READ | VM_PROT_WRITE, 0, curthread->td_ucred);
if (filp->f_shmem == NULL) {
error = -ENOMEM;
diff --git a/sys/dev/agp/agp.c b/sys/dev/agp/agp.c
index 39e9d5dd64e7..d61ae11f998f 100644
--- a/sys/dev/agp/agp.c
+++ b/sys/dev/agp/agp.c
@@ -514,7 +514,7 @@ agp_generic_alloc_memory(device_t dev, int type, vm_size_t size)
mem->am_id = sc->as_nextid++;
mem->am_size = size;
mem->am_type = 0;
- mem->am_obj = vm_object_allocate(OBJT_DEFAULT, atop(round_page(size)));
+ mem->am_obj = vm_object_allocate(OBJT_SWAP, atop(round_page(size)));
mem->am_physical = 0;
mem->am_offset = 0;
mem->am_is_bound = 0;
diff --git a/sys/dev/agp/agp_i810.c b/sys/dev/agp/agp_i810.c
index 433d7d3f50c7..400e70a402c1 100644
--- a/sys/dev/agp/agp_i810.c
+++ b/sys/dev/agp/agp_i810.c
@@ -1744,7 +1744,7 @@ agp_i810_alloc_memory(device_t dev, int type, vm_size_t size)
mem->am_size = size;
mem->am_type = type;
if (type != 1 && (type != 2 || size == AGP_PAGE_SIZE))
- mem->am_obj = vm_object_allocate(OBJT_DEFAULT,
+ mem->am_obj = vm_object_allocate(OBJT_SWAP,
atop(round_page(size)));
else
mem->am_obj = 0;
diff --git a/sys/dev/drm2/drm_gem.c b/sys/dev/drm2/drm_gem.c
index 2692eb2499ae..7cfe09e46c01 100644
--- a/sys/dev/drm2/drm_gem.c
+++ b/sys/dev/drm2/drm_gem.c
@@ -111,7 +111,7 @@ int drm_gem_object_init(struct drm_device *dev,
("Bad size %ju", (uintmax_t)size));
obj->dev = dev;
- obj->vm_obj = vm_pager_allocate(OBJT_DEFAULT, NULL, size,
+ obj->vm_obj = vm_pager_allocate(OBJT_SWAP, NULL, size,
VM_PROT_READ | VM_PROT_WRITE, 0, curthread->td_ucred);
obj->refcount = 1;