From nobody Sun Jul 17 11:24:18 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Lm2mg0TYmz4T1xQ; Sun, 17 Jul 2022 11:24:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Lm2mf5hXTz3Pdl; Sun, 17 Jul 2022 11:24:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1658057058; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=85Rf6u4+wH80iC6qyvnAoesG+ebQiybDwWd0lrHeJxo=; b=V40UAOPW20tRdL3Srxubf9AInY+v8aovEUu+F9Pr9aq0hU7hwm3Ky/aVtTMP8P7kFsKid8 qEj/D7XWwYvkuLSE4TsiJEjaZSkszgFfszhng4v7o7CPKcHP/C/gbZVDEtt47MWqekhzwH B3Xj5sv7GjAxWsMMmN68pieNMibhd6aHiRaNSIQyJq/A+ISrSaGZ8ceBXk9lsZdgUvbDw/ r+8DBGie3IUoD8jqi517MY3DRVcoiNVBdyuScGkf+XmeWdKYCxMbAQY4TLv4GpAxLCmmjW feWQxBvl+WYu9yshOKiVMePERkd/u+TJnR01R7NULqLYf/llVd5O3kvdNo7TyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Lm2mf4YTNzyCv; Sun, 17 Jul 2022 11:24:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 26HBOI1W014251; Sun, 17 Jul 2022 11:24:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 26HBOIM1014250; Sun, 17 Jul 2022 11:24:18 GMT (envelope-from git) Date: Sun, 17 Jul 2022 11:24:18 GMT Message-Id: <202207171124.26HBOIM1014250@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 0cb2610ee2dc - main - vm: Remove handling for OBJT_DEFAULT objects List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0cb2610ee2dccfde2e385f8e8a10d0b8d6bc0687 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1658057058; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=85Rf6u4+wH80iC6qyvnAoesG+ebQiybDwWd0lrHeJxo=; b=AcdtbBon+PDQ+uv8hInKX2RojBA7AsIc5iAZoGg0evJT1Un/gASR170lfeVgeZ4xz9HKiq hOxCFeQWZ892nrGTSWb8W2QbrkcoPmFyZLAqHjwACGqURJQa/SBZKY8jSjSAxsaHd8NtfP k5T4deU8+pOKhZNm/YVeJpzx0gxQ1eqF4fhLPjj5EV3vnTLiPXfnosAv268voaSJJWxvcI 7USKmnwUatMSLjuUcGTrGYt1Ex4Mtt0aoE3+xjn62Lrx4F1WYCzM6ZN/7UShASgWnMY5Zx LiA1SfE24c94WCCVM006lnWjKRFVvnf4ow3z5FWjCkq8iEv0ZGs0xhjeNbHc+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1658057058; a=rsa-sha256; cv=none; b=v51mBMuvAVFOhD3beV0nEPPWdsvzUWWirOYA+vDpdlxMDZYDFz/EomW+bSFRbaEWA9QbyU Hyh+T/dHDoKeERnbn3J0vaiEJmY9AlJ3ib6yOYEtWHXDefQK00MMudc7eeOj3JX1d/fAxf fCvLDL7bO+TOVj3KE2a6LuOmYqvJo19SX7wpT2dYpBjEZf02K6RAsEVWZtc+2lEDawnMCi zRzpsPR993E7sIFN+9PBSmbILLg9nyLs+8gbqKO0eGEfxsuy4khwORE1/kML6IQVK0EWYK APjoHyegR66s0FZtea0ffZr1ouklQut9TytcjA6Ir46Azryil17g/s4ikZ2i7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0cb2610ee2dccfde2e385f8e8a10d0b8d6bc0687 commit 0cb2610ee2dccfde2e385f8e8a10d0b8d6bc0687 Author: Mark Johnston AuthorDate: 2022-07-16 15:29:19 +0000 Commit: Mark Johnston CommitDate: 2022-07-17 11:09:48 +0000 vm: Remove handling for OBJT_DEFAULT objects Now that OBJT_DEFAULT objects can't be instantiated, we can simplify checks of the form object->type == OBJT_DEFAULT || (object->flags & OBJ_SWAP) != 0. No functional change intended. Reviewed by: alc, kib Tested by: pho Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D35788 --- sys/vm/vm_fault.c | 3 +-- sys/vm/vm_map.c | 12 ++---------- sys/vm/vm_mmap.c | 6 ++---- sys/vm/vm_object.c | 16 +++------------- sys/vm/vm_page.c | 6 ++---- sys/vm/vm_pageout.c | 10 +++------- 6 files changed, 13 insertions(+), 40 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index d398be941e84..0433b6dd3d7e 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -2040,8 +2040,7 @@ vm_fault_copy_entry(vm_map_t dst_map, vm_map_t src_map __unused, dst_object->cred = curthread->td_ucred; crhold(dst_object->cred); *fork_charge += dst_object->charge; - } else if ((dst_object->type == OBJT_DEFAULT || - (dst_object->flags & OBJ_SWAP) != 0) && + } else if ((dst_object->flags & OBJ_SWAP) != 0 && dst_object->cred == NULL) { KASSERT(dst_entry->cred != NULL, ("no cred for entry %p", dst_entry)); diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 7e528fae7453..04310e42218f 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -2825,8 +2825,7 @@ again: } VM_OBJECT_WLOCK(obj); - if (obj->type != OBJT_DEFAULT && - (obj->flags & OBJ_SWAP) == 0) { + if ((obj->flags & OBJ_SWAP) == 0) { VM_OBJECT_WUNLOCK(obj); continue; } @@ -4136,14 +4135,7 @@ vm_map_copy_entry( */ size = src_entry->end - src_entry->start; if ((src_object = src_entry->object.vm_object) != NULL) { - /* - * Swap-backed objects need special handling. Note that - * this is an unlocked check, so it is possible to race - * with an OBJT_DEFAULT -> OBJT_SWAP conversion. - */ - if (src_object->type == OBJT_DEFAULT || - src_object->type == OBJT_SWAP || - (src_object->flags & OBJ_SWAP) != 0) { + if ((src_object->flags & OBJ_SWAP) != 0) { vm_map_copy_swap_object(src_entry, dst_entry, size, fork_charge); /* May have split/collapsed, reload obj. */ diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index 1c02ba35fcfe..56345fcaf560 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -940,8 +940,7 @@ retry: object = current->object.vm_object; VM_OBJECT_WLOCK(object); } - if (object->type == OBJT_DEFAULT || - (object->flags & OBJ_SWAP) != 0 || + if ((object->flags & OBJ_SWAP) != 0 || object->type == OBJT_VNODE) { pindex = OFF_TO_IDX(current->offset + (addr - current->start)); @@ -1368,8 +1367,7 @@ vm_mmap_vnode(struct thread *td, vm_size_t objsize, goto done; } } else { - KASSERT(obj->type == OBJT_DEFAULT || obj->type == OBJT_SWAP || - (obj->flags & OBJ_SWAP) != 0, ("wrong object type")); + KASSERT((obj->flags & OBJ_SWAP) != 0, ("wrong object type")); vm_object_reference(obj); #if VM_NRESERVLEVEL > 0 if ((obj->flags & OBJ_COLORED) == 0) { diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index bb29568ab5e4..7fd82239c13b 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -414,9 +414,6 @@ vm_object_allocate(objtype_t type, vm_pindex_t size) switch (type) { case OBJT_DEAD: panic("vm_object_allocate: can't create OBJT_DEAD"); - case OBJT_DEFAULT: - flags = OBJ_COLORED; - break; case OBJT_SWAP: flags = OBJ_COLORED | OBJ_SWAP; break; @@ -688,8 +685,7 @@ vm_object_deallocate(vm_object_t object) umtx_shm_object_terminated(object); temp = object->backing_object; if (temp != NULL) { - KASSERT(object->type == OBJT_DEFAULT || - object->type == OBJT_SWAP, + KASSERT(object->type == OBJT_SWAP, ("shadowed tmpfs v_object 2 %p", object)); vm_object_backing_remove(object); } @@ -969,8 +965,7 @@ vm_object_terminate(vm_object_t object) vm_reserv_break_all(object); #endif - KASSERT(object->cred == NULL || object->type == OBJT_DEFAULT || - (object->flags & OBJ_SWAP) != 0, + KASSERT(object->cred == NULL || (object->flags & OBJ_SWAP) != 0, ("%s: non-swap obj %p has cred", __func__, object)); /* @@ -1306,8 +1301,7 @@ vm_object_madvise_freespace(vm_object_t object, int advice, vm_pindex_t pindex, * * Deactivate the specified pages if they are resident. * - * MADV_FREE (OBJT_DEFAULT/OBJT_SWAP objects, - * OBJ_ONEMAPPING only) + * MADV_FREE (OBJT_SWAP objects, OBJ_ONEMAPPING only) * * Deactivate and clean the specified pages if they are * resident. This permits the process to reuse the pages @@ -1529,10 +1523,6 @@ vm_object_split(vm_map_entry_t entry) offidxstart = OFF_TO_IDX(entry->offset); size = atop(entry->end - entry->start); - /* - * If swap_pager_copy() is later called, it will convert new_object - * into a swap object. - */ new_object = vm_object_allocate_anon(size, orig_object, orig_object->cred, ptoa(size)); diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 127406c0d582..cb7ce428db28 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -2693,8 +2693,7 @@ retry: goto retry; } /* Don't care: PG_NODUMP, PG_ZERO. */ - if (object->type != OBJT_DEFAULT && - (object->flags & OBJ_SWAP) == 0 && + if ((object->flags & OBJ_SWAP) == 0 && object->type != OBJT_VNODE) { run_ext = 0; #if VM_NRESERVLEVEL > 0 @@ -2831,8 +2830,7 @@ vm_page_reclaim_run(int req_class, int domain, u_long npages, vm_page_t m_run, VM_OBJECT_WLOCK(object); /* Don't care: PG_NODUMP, PG_ZERO. */ if (m->object != object || - (object->type != OBJT_DEFAULT && - (object->flags & OBJ_SWAP) == 0 && + ((object->flags & OBJ_SWAP) == 0 && object->type != OBJT_VNODE)) error = EINVAL; else if (object->memattr != VM_MEMATTR_DEFAULT) diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c index 74439d5884ef..bb12a7e335d5 100644 --- a/sys/vm/vm_pageout.c +++ b/sys/vm/vm_pageout.c @@ -896,11 +896,8 @@ free_page: vm_page_free(m); VM_CNT_INC(v_dfree); } else if ((object->flags & OBJ_DEAD) == 0) { - if ((object->flags & OBJ_SWAP) == 0 && - object->type != OBJT_DEFAULT) - pageout_ok = true; - else if (disable_swap_pageouts) - pageout_ok = false; + if ((object->flags & OBJ_SWAP) != 0) + pageout_ok = disable_swap_pageouts == 0; else pageout_ok = true; if (!pageout_ok) { @@ -1886,8 +1883,7 @@ vm_pageout_oom_pagecount(struct vmspace *vmspace) if ((entry->eflags & MAP_ENTRY_NEEDS_COPY) != 0 && obj->ref_count != 1) continue; - if (obj->type == OBJT_DEFAULT || obj->type == OBJT_SWAP || - obj->type == OBJT_PHYS || obj->type == OBJT_VNODE || + if (obj->type == OBJT_PHYS || obj->type == OBJT_VNODE || (obj->flags & OBJ_SWAP) != 0) res += obj->resident_page_count; }