Skip site navigation (1)Skip section navigation (2)
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>