dump_page_queue(): fix output

* Determine the cache type per page instead of printing the first page's
  cache type for all pages.
* Use vm_cache_type_to_string().
This commit is contained in:
Ingo Weinhold
2013-09-18 00:42:43 +02:00
parent d6f41e8920
commit 34d0d4d85e
+3 -24
View File
@@ -1000,33 +1000,12 @@ dump_page_queue(int argc, char **argv)
if (argc == 3) {
struct vm_page *page = queue->Head();
const char *type = "none";
int i;
if (page->Cache() != NULL) {
switch (page->Cache()->type) {
case CACHE_TYPE_RAM:
type = "RAM";
break;
case CACHE_TYPE_DEVICE:
type = "device";
break;
case CACHE_TYPE_VNODE:
type = "vnode";
break;
case CACHE_TYPE_NULL:
type = "null";
break;
default:
type = "???";
break;
}
}
kprintf("page cache type state wired usage\n");
for (i = 0; page; i++, page = queue->Next(page)) {
for (page_num_t i = 0; page; i++, page = queue->Next(page)) {
kprintf("%p %p %-7s %8s %5d %5d\n", page, page->Cache(),
type, page_state_to_string(page->State()),
vm_cache_type_to_string(page->Cache()->type),
page_state_to_string(page->State()),
page->WiredCount(), page->usage_count);
}
}