Fix header output when -P is specified and (ncpus - 1) != maxid.
Reported by: Hiroaki Shimizu PR: 152738
This commit is contained in:
parent
de2b02fc74
commit
83a15ccf22
@ -657,6 +657,8 @@ dovmstat(unsigned int interval, int reps)
|
||||
uptime = getuptime();
|
||||
halfuptime = uptime / 2;
|
||||
rate_adj = 1;
|
||||
ncpus = 1;
|
||||
maxid = 0;
|
||||
|
||||
/*
|
||||
* If the user stops the program (control-Z) and then resumes it,
|
||||
@ -702,7 +704,7 @@ dovmstat(unsigned int interval, int reps)
|
||||
}
|
||||
for (hdrcnt = 1;;) {
|
||||
if (!--hdrcnt)
|
||||
printhdr(ncpus, cpumask);
|
||||
printhdr(maxid, cpumask);
|
||||
if (kd != NULL) {
|
||||
if (kvm_getcptime(kd, cur.cp_time) < 0)
|
||||
errx(1, "kvm_getcptime: %s", kvm_geterr(kd));
|
||||
@ -753,7 +755,7 @@ dovmstat(unsigned int interval, int reps)
|
||||
errx(1, "%s", devstat_errbuf);
|
||||
break;
|
||||
case 1:
|
||||
printhdr(ncpus, cpumask);
|
||||
printhdr(maxid, cpumask);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -822,7 +824,7 @@ dovmstat(unsigned int interval, int reps)
|
||||
}
|
||||
|
||||
static void
|
||||
printhdr(int ncpus, u_long cpumask)
|
||||
printhdr(int maxid, u_long cpumask)
|
||||
{
|
||||
int i, num_shown;
|
||||
|
||||
@ -834,7 +836,7 @@ printhdr(int ncpus, u_long cpumask)
|
||||
(void)printf("disk");
|
||||
(void)printf(" faults ");
|
||||
if (Pflag) {
|
||||
for (i = 0; i < ncpus; i++) {
|
||||
for (i = 0; i <= maxid; i++) {
|
||||
if (cpumask & (1ul << i))
|
||||
printf("cpu%-2d ", i);
|
||||
}
|
||||
@ -850,8 +852,10 @@ printhdr(int ncpus, u_long cpumask)
|
||||
dev_select[i].unit_number);
|
||||
(void)printf(" in sy cs");
|
||||
if (Pflag) {
|
||||
for (i = 0; i < ncpus; i++)
|
||||
for (i = 0; i <= maxid; i++) {
|
||||
if (cpumask & (1ul << i))
|
||||
printf(" us sy id");
|
||||
}
|
||||
printf("\n");
|
||||
} else
|
||||
printf(" us sy id\n");
|
||||
|
Loading…
Reference in New Issue
Block a user