Page MenuHomeFreeBSD

D20632.id58606.diff
No OneTemporary

D20632.id58606.diff

Index: vm_map.c
===================================================================
--- vm_map.c
+++ vm_map.c
@@ -2189,15 +2189,19 @@
("_vm_map_clip_start: invalid clip of entry %p", 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 new 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_simplify_entry(map, entry);
vm_map_entry_charge_object(map, 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;
@@ -2245,14 +2249,18 @@
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 new 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);
new_entry = vm_map_entry_create(map);
*new_entry = *entry;
+ /*
+ * Insert new entry AFTER the specified entry.
+ */
new_entry->start = entry->end = end;
new_entry->offset += (end - entry->start);
if (new_entry->cred != NULL)

File Metadata

Mime Type
text/plain
Expires
Sun, Apr 26, 8:07 AM (3 h, 28 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32175014
Default Alt Text
D20632.id58606.diff (1 KB)

Event Timeline