Module Name:    src
Committed By:   riastradh
Date:           Sat Jun  4 23:09:57 UTC 2022

Modified Files:
        src/sys/uvm: uvm_map.c

Log Message:
uvm(9): Print min/max address and first_free entry in ddb `show map'.

May help to diagnose PR kern/51254.


To generate a diff of this commit:
cvs rdiff -u -r1.396 -r1.397 src/sys/uvm/uvm_map.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/uvm/uvm_map.c
diff -u src/sys/uvm/uvm_map.c:1.396 src/sys/uvm/uvm_map.c:1.397
--- src/sys/uvm/uvm_map.c:1.396	Sat Jun  4 20:54:53 2022
+++ src/sys/uvm/uvm_map.c	Sat Jun  4 23:09:57 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: uvm_map.c,v 1.396 2022/06/04 20:54:53 riastradh Exp $	*/
+/*	$NetBSD: uvm_map.c,v 1.397 2022/06/04 23:09:57 riastradh Exp $	*/
 
 /*
  * Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -66,7 +66,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_map.c,v 1.396 2022/06/04 20:54:53 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_map.c,v 1.397 2022/06/04 23:09:57 riastradh Exp $");
 
 #include "opt_ddb.h"
 #include "opt_pax.h"
@@ -5116,6 +5116,8 @@ uvm_map_printit(struct vm_map *map, bool
 	    pmap_resident_count(map->pmap), pmap_wired_count(map->pmap));
 	if (!full)
 		return;
+	(*pr)("\tmin=%"PRIxVADDR", max=%"PRIxVADDR"\n",
+	    vm_map_min(map), vm_map_max(map));
 	for (entry = map->header.next; entry != &map->header;
 	    entry = entry->next) {
 		(*pr)(" - %p: %#lx->%#lx: obj=%p/%#llx, amap=%p/%d\n",
@@ -5124,12 +5126,13 @@ uvm_map_printit(struct vm_map *map, bool
 		    entry->aref.ar_pageoff);
 		(*pr)(
 		    "\tsubmap=%c, cow=%c, nc=%c, prot(max)=%d/%d, inh=%d, "
-		    "wc=%d, adv=%d\n",
+		    "wc=%d, adv=%d%s\n",
 		    (entry->etype & UVM_ET_SUBMAP) ? 'T' : 'F',
 		    (entry->etype & UVM_ET_COPYONWRITE) ? 'T' : 'F',
 		    (entry->etype & UVM_ET_NEEDSCOPY) ? 'T' : 'F',
 		    entry->protection, entry->max_protection,
-		    entry->inheritance, entry->wired_count, entry->advice);
+		    entry->inheritance, entry->wired_count, entry->advice,
+		    entry == map->first_free ? " (first_free)" : "");
 	}
 }
 

Reply via email to