git: a94380d88c77 - stable/13 - vm_object: Modify various drivers to allocate OBJT_SWAP objects

From: Mark Johnston <markj_at_FreeBSD.org>
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;