git: a94380d88c77 - stable/13 - vm_object: Modify various drivers to allocate OBJT_SWAP objects
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 27 Jul 2022 13:52:33 UTC
The branch stable/13 has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=a94380d88c77799b9c7a869d5e6712d5f6810997
commit a94380d88c77799b9c7a869d5e6712d5f6810997
Author: Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2022-07-12 12:51:02 +0000
Commit: Mark Johnston <markj@FreeBSD.org>
CommitDate: 2022-07-27 13:50:51 +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
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 6b38974085215bcd787be0d138411ec57cf0096e)
---
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 587a5bfdfa65..b417a2345bed 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 84e8274ee49d..b4998418b8b4 100644
--- a/sys/dev/agp/agp.c
+++ b/sys/dev/agp/agp.c
@@ -491,7 +491,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 9bca2f556a60..0fcc10058181 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;