Date: Sat, 15 Jun 2019 04:30:13 +0000 (UTC) From: Doug Moore <dougm@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r349046 - head/sys/vm Message-ID: <201906150430.x5F4UDVX031215@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dougm Date: Sat Jun 15 04:30:13 2019 New Revision: 349046 URL: https://svnweb.freebsd.org/changeset/base/349046 Log: Critical comments were lost in r349203. This patch seeks to restore the lost information in new comments. Reported by: alc Reviewed by: alc Approved by: kib (mentor) Differential Revision: https://reviews.freebsd.org/D20632 Modified: head/sys/vm/vm_map.c Modified: head/sys/vm/vm_map.c ============================================================================== --- head/sys/vm/vm_map.c Sat Jun 15 01:27:49 2019 (r349045) +++ head/sys/vm/vm_map.c Sat Jun 15 04:30:13 2019 (r349046) @@ -2186,17 +2186,22 @@ _vm_map_clip_start(vm_map_t map, vm_map_entry_t entry, VM_MAP_ASSERT_LOCKED(map); KASSERT(entry->end > start && entry->start < start, ("_vm_map_clip_start: invalid clip of entry %p", entry)); + vm_map_simplify_entry(map, entry); /* - * Split off the front portion -- note that we must insert the new - * entry BEFORE this one, so that this entry has the specified - * starting address. + * Create a backing object now, if none exists, so that more individual + * objects won't be created after the map entry is split. */ - vm_map_simplify_entry(map, entry); vm_map_entry_charge_object(map, entry); + + /* Clone the entry. */ new_entry = vm_map_entry_create(map); *new_entry = *entry; + /* + * Split off the front portion. Insert the new entry BEFORE this one, + * so that this entry has the specified starting address. + */ new_entry->end = start; entry->offset += (start - entry->start); entry->start = start; @@ -2244,14 +2249,20 @@ _vm_map_clip_end(vm_map_t map, vm_map_entry_t entry, v KASSERT(entry->start < end && entry->end > end, ("_vm_map_clip_end: invalid clip of entry %p", entry)); - /* - * Create a new entry and insert it AFTER the specified entry + * Create a backing object now, if none exists, so that more individual + * objects won't be created after the map entry is split. */ vm_map_entry_charge_object(map, entry); + + /* Clone the entry. */ new_entry = vm_map_entry_create(map); *new_entry = *entry; + /* + * Split off the back portion. Insert the new entry AFTER this one, + * so that this entry has the specified ending address. + */ new_entry->start = entry->end = end; new_entry->offset += (end - entry->start); if (new_entry->cred != NULL)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201906150430.x5F4UDVX031215>