aboutsummaryrefslogtreecommitdiff
path: root/sys/vm
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2013-05-28 05:22:45 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2013-05-28 05:22:45 +0000
commita85bb6816236b2e54adc49efa0c9bcad6d0ae6f1 (patch)
tree0f4420b24e9d8b4a7971dde638f1f23e0247025a /sys/vm
parentc483125b071be726dd29e1bfeb7620019445f9d3 (diff)
Notes
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_page.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index d51a5742bc40..0874b46eb199 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -2915,4 +2915,27 @@ DB_SHOW_COMMAND(pageq, vm_page_print_pageq_info)
*vm_page_queues[PQ_ACTIVE].cnt,
*vm_page_queues[PQ_INACTIVE].cnt);
}
+
+DB_SHOW_COMMAND(pginfo, vm_page_print_pginfo)
+{
+ vm_page_t m;
+ boolean_t phys;
+
+ if (!have_addr) {
+ db_printf("show pginfo addr\n");
+ return;
+ }
+
+ phys = strchr(modif, 'p') != NULL;
+ if (phys)
+ m = PHYS_TO_VM_PAGE(addr);
+ else
+ m = (vm_page_t)addr;
+ db_printf(
+ "page %p obj %p pidx 0x%jx phys 0x%jx q %d hold %d wire %d\n"
+ " af 0x%x of 0x%x f 0x%x act %d busy %d valid 0x%x dirty 0x%x\n",
+ m, m->object, (uintmax_t)m->pindex, (uintmax_t)m->phys_addr,
+ m->queue, m->hold_count, m->wire_count, m->aflags, m->oflags,
+ m->flags, m->act_count, m->busy, m->valid, m->dirty);
+}
#endif /* DDB */