author | david.comay@oracle.com |
Mon, 20 Jul 2015 13:39:58 -0700 | |
branch | s11-update |
changeset 4678 | 47c0c76602fd |
parent 3870 | 37ef66e7f75b |
permissions | -rw-r--r-- |
3870
37ef66e7f75b
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 |
# |
37ef66e7f75b
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 |
37ef66e7f75b
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 |
37ef66e7f75b
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 |
37ef66e7f75b
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 |
# |
37ef66e7f75b
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 |
|
37ef66e7f75b
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 |
37ef66e7f75b
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 |
37ef66e7f75b
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 @@ |
37ef66e7f75b
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 |
37ef66e7f75b
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 |
37ef66e7f75b
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 |
37ef66e7f75b
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. |
37ef66e7f75b
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 |
*/ |
3870
37ef66e7f75b
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 |
3870
37ef66e7f75b
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 @@ |
37ef66e7f75b
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; |
37ef66e7f75b
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; |
37ef66e7f75b
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; |
37ef66e7f75b
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; |
37ef66e7f75b
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 |
} |
37ef66e7f75b
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 |
|
37ef66e7f75b
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? */ |
37ef66e7f75b
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 @@ |
37ef66e7f75b
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 |
*/ |
37ef66e7f75b
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) |
37ef66e7f75b
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 |
{ |
37ef66e7f75b
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) = |
37ef66e7f75b
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 = |
37ef66e7f75b
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; |
37ef66e7f75b
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 |
} |
37ef66e7f75b
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 |
37ef66e7f75b
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 |
{ |
37ef66e7f75b
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 */ |
37ef66e7f75b
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; |
37ef66e7f75b
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; |
37ef66e7f75b
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 |
} |
37ef66e7f75b
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 |
|
37ef66e7f75b
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 */ |
37ef66e7f75b
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 @@ |
37ef66e7f75b
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 */ |
37ef66e7f75b
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) |
37ef66e7f75b
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 |
{ |
37ef66e7f75b
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) = |
37ef66e7f75b
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 = |
37ef66e7f75b
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) / |
37ef66e7f75b
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; |
37ef66e7f75b
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 |
} |
37ef66e7f75b
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 @@ |
37ef66e7f75b
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 |
37ef66e7f75b
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 |
{ |
37ef66e7f75b
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 */ |
37ef66e7f75b
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; |
37ef66e7f75b
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; |
37ef66e7f75b
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 |
} |
37ef66e7f75b
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 |
|
37ef66e7f75b
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", |
37ef66e7f75b
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, |
37ef66e7f75b
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), |
37ef66e7f75b
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)); |
37ef66e7f75b
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); |
37ef66e7f75b
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 |
} |
37ef66e7f75b
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 |
|
37ef66e7f75b
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 */ |