Catch up to new priority interface.

This commit is contained in:
Jake Burkholder 2001-02-12 00:21:38 +00:00
parent d5a08a6065
commit 4c85452ba9
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=72377
5 changed files with 25 additions and 27 deletions

View file

@ -65,7 +65,7 @@ void parsefmt __P((char *));
void pcpu __P((KINFO *, VARENT *));
void pmem __P((KINFO *, VARENT *));
void pri __P((KINFO *, VARENT *));
void rtprior __P((KINFO *, VARENT *));
void priorityr __P((KINFO *, VARENT *));
void printheader __P((void));
void rssize __P((KINFO *, VARENT *));
void runame __P((KINFO *, VARENT *));

View file

@ -144,7 +144,7 @@ VAR var[] = {
{"rgid", "RGID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_rgid),
UINT, UIDFMT},
{"rss", "RSS", NULL, 0, kvar, NULL, 4, KOFF(ki_rssize), UINT, "d"},
{"rtprio", "RTPRIO", NULL, 0, rtprior, NULL, 7, KOFF(ki_rtprio)},
{"rtprio", "RTPRIO", NULL, 0, priorityr, NULL, 7, KOFF(ki_pri)},
{"ruid", "RUID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_ruid),
UINT, UIDFMT},
{"ruser", "RUSER", NULL, LJUST|DSIZ, runame, s_runame, USERLEN},
@ -173,7 +173,8 @@ VAR var[] = {
{"ucomm", "UCOMM", NULL, LJUST, ucomm, NULL, MAXCOMLEN},
{"uid", "UID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_uid),
UINT, UIDFMT},
{"upr", "UPR", NULL, 0, kvar, NULL, 3, KOFF(ki_usrpri), CHAR, "d"},
{"upr", "UPR", NULL, 0, kvar, NULL, 3, KOFF(ki_pri.pri_user),
UCHAR, "d"},
{"user", "USER", NULL, LJUST|DSIZ, uname, s_uname, USERLEN},
{"usrpri", "", "upr"},
{"vsize", "", "vsz"},

View file

@ -244,7 +244,7 @@ pri(k, ve)
VAR *v;
v = ve->var;
(void)printf("%*d", v->width, k->ki_p->ki_priority - PZERO);
(void)printf("%*d", v->width, k->ki_p->ki_pri.pri_level - PZERO);
}
void
@ -613,31 +613,31 @@ tsize(k, ve)
}
void
rtprior(k, ve)
priorityr(k, ve)
KINFO *k;
VARENT *ve;
{
VAR *v;
struct rtprio *prtp;
struct priority *pri;
char str[8];
unsigned prio, type;
unsigned class, level;
v = ve->var;
prtp = (struct rtprio *) ((char *)k + v->off);
prio = prtp->prio;
type = prtp->type;
switch (type) {
case RTP_PRIO_REALTIME:
snprintf(str, sizeof(str), "real:%u", prio);
pri = (struct priority *) ((char *)k + v->off);
class = pri->pri_class;
level = pri->pri_level;
switch (class) {
case PRI_REALTIME:
snprintf(str, sizeof(str), "real:%u", level);
break;
case RTP_PRIO_NORMAL:
case PRI_TIMESHARE:
strncpy(str, "normal", sizeof(str));
break;
case RTP_PRIO_IDLE:
snprintf(str, sizeof(str), "idle:%u", prio);
case PRI_IDLE:
snprintf(str, sizeof(str), "idle:%u", level);
break;
default:
snprintf(str, sizeof(str), "%u:%u", type, prio);
snprintf(str, sizeof(str), "%u:%u", class, level);
break;
}
str[sizeof(str) - 1] = '\0';

View file

@ -299,7 +299,6 @@ kvm_proclist(kd, what, arg, p, bp, maxcnt)
kp->ki_mtxname, MTXNAMELEN);
kp->ki_mtxname[MTXNAMELEN] = 0;
}
kp->ki_rtprio = proc.p_rtprio;
kp->ki_runtime = proc.p_runtime;
kp->ki_pid = proc.p_pid;
kp->ki_siglist = proc.p_siglist;
@ -314,10 +313,8 @@ kvm_proclist(kd, what, arg, p, bp, maxcnt)
kp->ki_sflag = proc.p_sflag;
kp->ki_wchan = proc.p_wchan;
kp->ki_traceflag = proc.p_traceflag;
kp->ki_priority = proc.p_priority;
kp->ki_usrpri = proc.p_usrpri;
kp->ki_nativepri = proc.p_nativepri;
kp->ki_stat = proc.p_stat;
kp->ki_pri = proc.p_pri;
kp->ki_nice = proc.p_nice;
kp->ki_lock = proc.p_lock;
kp->ki_rqindex = proc.p_rqindex;

View file

@ -612,18 +612,18 @@ char *(*get_userid)();
pp->ki_pid,
namelength, namelength,
(*get_userid)(pp->ki_ruid),
pp->ki_priority - PZERO,
pp->ki_pri.pri_level - PZERO,
/*
* normal time -> nice value -20 - +20
* real time 0 - 31 -> nice value -52 - -21
* idle time 0 - 31 -> nice value +21 - +52
*/
(pp->ki_rtprio.type == RTP_PRIO_NORMAL ?
(pp->ki_pri.pri_class == PRI_TIMESHARE ?
pp->ki_nice - NZERO :
(RTP_PRIO_IS_REALTIME(pp->ki_rtprio.type) ?
(PRIO_MIN - 1 - RTP_PRIO_MAX + pp->ki_rtprio.prio) :
(PRIO_MAX + 1 + pp->ki_rtprio.prio))),
(PRI_IS_REALTIME(pp->ki_pri.pri_class) ?
(PRIO_MIN - 1 - (PRI_MAX_REALTIME - pp->ki_pri.pri_level)) :
(PRIO_MAX + 1 + pp->ki_pri.pri_level - PRI_MIN_IDLE))),
format_k2(PROCSIZE(pp)),
format_k2(pagetok(pp->ki_rssize)),
status,
@ -749,7 +749,7 @@ static unsigned char sorted_state[] =
sorted_state[(unsigned char) p1->ki_stat]) == 0)
#define ORDERKEY_PRIO \
if ((result = p2->ki_priority - p1->ki_priority) == 0)
if ((result = p2->ki_pri.pri_level - p1->ki_pri.pri_level) == 0)
#define ORDERKEY_RSSIZE \
if ((result = p2->ki_rssize - p1->ki_rssize) == 0)