author | Mike Sullivan <Mike.Sullivan@Oracle.COM> |
Fri, 15 Mar 2013 10:42:56 -0700 | |
changeset 1214 | 572261eab84d |
parent 1134 | 9b5eb03884b6 |
permissions | -rw-r--r-- |
1134
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
1 |
# |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
2 |
# Community BugDB: sf.net/tracker |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
3 |
# Community BugID: 3602141 |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
4 |
# Community BugURL: https://sourceforge.net/tracker/?func=detail&aid=3602141&group_id=72892&atid=536042 |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
5 |
# |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
6 |
|
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
7 |
--- top-3.8beta1/machine/m_sunos5.c.orig Thu Jan 24 12:29:40 2013 |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
8 |
+++ top-3.8beta1/machine/m_sunos5.c Thu Jan 24 12:37:11 2013 |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
9 |
@@ -149,10 +149,10 @@ |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
10 |
* These values are weighted over one minute whereas top output prefers |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
11 |
* a near-instantaneous measure of cpu utilization. So we choose to |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
12 |
* ignore pr_pctcpu: we calculate our own cpu percentage and store it in |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
13 |
- * one of the spare slots in the prinfo structure. |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
14 |
+ * oldpct field. |
638
d348d0ea7b75
7101665 top crashes in getptable
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
15 |
*/ |
1134
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
16 |
+#define percent_cpu(pp) (((struct oldproc *)hash_lookup_pid(prochash, pp->pr_pid))->oldpct) |
638
d348d0ea7b75
7101665 top crashes in getptable
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
17 |
|
d348d0ea7b75
7101665 top crashes in getptable
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
18 |
-#define percent_cpu(pp) (*(double *)dbl_align(&pp->pr_filler[0])) |
d348d0ea7b75
7101665 top crashes in getptable
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
19 |
|
d348d0ea7b75
7101665 top crashes in getptable
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
20 |
/* definitions for indices in the nlist array */ |
d348d0ea7b75
7101665 top crashes in getptable
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
21 |
#define X_V 0 |
1134
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
22 |
@@ -1965,6 +1965,7 @@ |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
23 |
op->fd_psinfo = -1; |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
24 |
op->fd_lpsinfo = -1; |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
25 |
op->oldtime = 0.0; |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
26 |
+ op->oldpct = 0.0; |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
27 |
} |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
28 |
|
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
29 |
/* do we have a cached file? */ |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
30 |
@@ -2021,13 +2022,13 @@ |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
31 |
*/ |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
32 |
if (lasttime.tv_sec > 0) |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
33 |
{ |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
34 |
- percent_cpu(currproc) = |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
35 |
+ op->oldpct = |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
36 |
(TIMESPEC_TO_DOUBLE(currproc->pr_time) - op->oldtime) / timediff; |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
37 |
} |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
38 |
else |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
39 |
{ |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
40 |
/* first screen -- no difference is possible */ |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
41 |
- percent_cpu(currproc) = 0.0; |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
42 |
+ op->oldpct = 0.0; |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
43 |
} |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
44 |
|
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
45 |
/* save data for next time */ |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
46 |
@@ -2134,7 +2135,7 @@ |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
47 |
/* calculate percent cpu for just this thread */ |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
48 |
if (lasttime.tv_sec > 0) |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
49 |
{ |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
50 |
- percent_cpu(currproc) = |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
51 |
+ op->oldpct = |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
52 |
(TIMESPEC_TO_DOUBLE(lwpp->pr_time) - op->oldtime) / |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
53 |
timediff; |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
54 |
} |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
55 |
@@ -2141,13 +2142,13 @@ |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
56 |
else |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
57 |
{ |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
58 |
/* first screen -- no difference is possible */ |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
59 |
- percent_cpu(currproc) = 0.0; |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
60 |
+ op->oldpct = 0.0; |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
61 |
} |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
62 |
|
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
63 |
dprintf("getptable: %d.%d: time %.0f, state %d, pctcpu %.2f\n", |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
64 |
currproc->pr_pid, lwpp->pr_lwpid, |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
65 |
TIMESPEC_TO_DOUBLE(currproc->pr_time), |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
66 |
- currproc->px_state, percent_cpu(currproc)); |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
67 |
+ currproc->px_state, op->oldpct); |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
68 |
} |
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
69 |
|
9b5eb03884b6
16186020 top doesn't build (and may be broken anyway) on lucky build 13
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
638
diff
changeset
|
70 |
/* save data for next time */ |