Eliminate key press requirement "show vmopag" command output.

Summary:
One was required to press a key to continue after every 18 lines of
output. This requirement had been in the "show vmopag" command since it
was introduced, which was many years before paging was added to DDB.
With paging, this explict key check is no longer necessary.

Obtained from:	Juniper Networks, Inc.
MFC after:	1 week

Test Plan:
Run "show vmopag" from db> prompt and see that it does not need additional
keypresses other than the ones needed for the pager.

Subscribers: imp, #contributor_reviews_base

Differential Revision: https://reviews.freebsd.org/D33550
This commit is contained in:
Stephen J. Kiernan 2021-12-17 16:39:51 -05:00
parent cd37afd8b6
commit 18048b6e3c

View File

@ -2830,18 +2830,13 @@ DB_SHOW_COMMAND(vmopag, vm_object_print_pages)
vm_pindex_t fidx;
vm_paddr_t pa;
vm_page_t m, prev_m;
int rcount, nl, c;
int rcount;
nl = 0;
TAILQ_FOREACH(object, &vm_object_list, object_list) {
db_printf("new object: %p\n", (void *)object);
if (nl > 18) {
c = cngetc();
if (c != ' ')
return;
nl = 0;
}
nl++;
if (db_pager_quit)
return;
rcount = 0;
fidx = 0;
pa = -1;
@ -2853,13 +2848,8 @@ DB_SHOW_COMMAND(vmopag, vm_object_print_pages)
if (rcount) {
db_printf(" index(%ld)run(%d)pa(0x%lx)\n",
(long)fidx, rcount, (long)pa);
if (nl > 18) {
c = cngetc();
if (c != ' ')
return;
nl = 0;
}
nl++;
if (db_pager_quit)
return;
rcount = 0;
}
}
@ -2871,13 +2861,8 @@ DB_SHOW_COMMAND(vmopag, vm_object_print_pages)
if (rcount) {
db_printf(" index(%ld)run(%d)pa(0x%lx)\n",
(long)fidx, rcount, (long)pa);
if (nl > 18) {
c = cngetc();
if (c != ' ')
return;
nl = 0;
}
nl++;
if (db_pager_quit)
return;
}
fidx = m->pindex;
pa = VM_PAGE_TO_PHYS(m);
@ -2886,13 +2871,8 @@ DB_SHOW_COMMAND(vmopag, vm_object_print_pages)
if (rcount) {
db_printf(" index(%ld)run(%d)pa(0x%lx)\n",
(long)fidx, rcount, (long)pa);
if (nl > 18) {
c = cngetc();
if (c != ' ')
return;
nl = 0;
}
nl++;
if (db_pager_quit)
return;
}
}
}