[Orca-checkins] r404 - in trunk/orca: data_gatherers/orcallator lib/SE/3.2.1 lib/SE/3.3 lib/SE/3.3.1
dmberezin at hotmail.com
dmberezin at hotmail.com
Wed Nov 17 15:34:09 PST 2004
Author: dmberezin at hotmail.com
Date: Wed Nov 17 15:32:25 2004
New Revision: 404
Modified:
trunk/orca/data_gatherers/orcallator/orcallator.se
trunk/orca/lib/SE/3.2.1/orca_process_class.se
trunk/orca/lib/SE/3.2.1/workinfo_class.se
trunk/orca/lib/SE/3.3.1/orca_process_class.se
trunk/orca/lib/SE/3.3.1/workinfo_class.se
trunk/orca/lib/SE/3.3/orca_process_class.se
trunk/orca/lib/SE/3.3/workinfo_class.se
Log:
Fix a thread counting bug in orca_process_class.se
* lib/SE/3.2.1/orca_process_class.se
* lib/SE/3.3.1/orca_process_class.se
* lib/SE/3.3/orca_process_class.se
Fix a bug where highest thread id was reported as current number of threads.
Support both current thread count and contributing thread count.
Add lwp_max variable.
The original version of orca_process_class.se is from SEToolkit 3.3.1.
* lib/SE/3.2.1/workinfo_class.se
* lib/SE/3.3.1/workinfo_class.se
* lib/SE/3.3/workinfo_class.se
Add support for maximum thread id, introduced in orca_process_class.se
Include orca_process_class.se instead of process_class.se
* data_gatherers/orcallator/orcallator.se
(measure_workload): Add support for maximum thread id, introduced in
orca_process_class.se
Modified: trunk/orca/data_gatherers/orcallator/orcallator.se
==============================================================================
--- trunk/orca/data_gatherers/orcallator/orcallator.se (original)
+++ trunk/orca/data_gatherers/orcallator/orcallator.se Wed Nov 17 15:32:25 2004
@@ -2429,6 +2429,7 @@
for (refresh$(ww); ww.number != -1; refresh$(ww)) {
put_output(sprintf("%s_cnt", ww.w.name), sprintf("%4d", ww.w.count));
put_output(sprintf("%s_lwpcnt", ww.w.name), sprintf("%4d", ww.w.info.lwp_count));
+ put_output(sprintf("%s_lwpmax", ww.w.name), sprintf("%4d", ww.w.info.lwp_max));
if (ww.w.cnt == 0) {
millisecs_per_switch = ww.w.info.vcontexts + ww.w.info.icontexts;
Modified: trunk/orca/lib/SE/3.2.1/orca_process_class.se
==============================================================================
--- trunk/orca/lib/SE/3.2.1/orca_process_class.se (original)
+++ trunk/orca/lib/SE/3.2.1/orca_process_class.se Wed Nov 17 15:32:25 2004
@@ -222,6 +222,7 @@
ulong icontexts; // in-ditto
ulong charios; // characters in and out/interval
ulong lwp_count; // number of lwps for the process
+ ulong lwp_max; // number of contributing lwps for the process
int uid; // current uid
long ppid; // parent pid
int bindpset; // processor set binding
@@ -543,6 +544,7 @@
rpi.n_pr_time = PS.pr_time;
rpi.o_pr_ctime = rpi.n_pr_ctime;
rpi.n_pr_ctime = PS.pr_ctime;
+ rpi.lwp_count = PS.pr_nlwp;
rpi.gencnt = gen;
struct_empty(rpi, pp);
nproc++;
@@ -799,7 +801,8 @@
priority = rpi.pr_pri;
niceness = rpi.pr_nice;
sched_class = rpi.pr_clname;
- lwp_count = NU.pr_count;
+ lwp_max = NU.pr_count;
+ lwp_count = rpi.lwp_count;
ppid = rpi.pr_ppid;
bindpset = rpi.pr_bindpset;
fname = rpi.pr_fname;
Modified: trunk/orca/lib/SE/3.2.1/workinfo_class.se
==============================================================================
--- trunk/orca/lib/SE/3.2.1/workinfo_class.se (original)
+++ trunk/orca/lib/SE/3.2.1/workinfo_class.se Wed Nov 17 15:32:25 2004
@@ -90,7 +90,7 @@
#include <dirent.se>
#include <fcntl.se>
#include <proc.se>
-#include <process_class.se>
+#include <orca_process_class.se>
#include <pwd.se>
struct work_info_t {
@@ -324,6 +324,7 @@
wi[i].info.priority += pp.priority;
wi[i].info.niceness += pp.niceness;
}
+ wi[i].info.lwp_max += pp.lwp_max;
wi[i].info.lwp_count += pp.lwp_count;
wi[i].count++;
if (firstmatch == 1 && i > 0) { // First match only counts
Modified: trunk/orca/lib/SE/3.3.1/orca_process_class.se
==============================================================================
--- trunk/orca/lib/SE/3.3.1/orca_process_class.se (original)
+++ trunk/orca/lib/SE/3.3.1/orca_process_class.se Wed Nov 17 15:32:25 2004
@@ -222,6 +222,7 @@
ulong icontexts; // in-ditto
ulong charios; // characters in and out/interval
ulong lwp_count; // number of lwps for the process
+ ulong lwp_max; // number of contributing lwps for the process
int uid; // current uid
long ppid; // parent pid
int bindpset; // processor set binding
@@ -543,6 +544,7 @@
rpi.n_pr_time = PS.pr_time;
rpi.o_pr_ctime = rpi.n_pr_ctime;
rpi.n_pr_ctime = PS.pr_ctime;
+ rpi.lwp_count = PS.pr_nlwp;
rpi.gencnt = gen;
struct_empty(rpi, pp);
nproc++;
@@ -799,7 +801,8 @@
priority = rpi.pr_pri;
niceness = rpi.pr_nice;
sched_class = rpi.pr_clname;
- lwp_count = NU.pr_count;
+ lwp_max = NU.pr_count;
+ lwp_count = rpi.lwp_count;
ppid = rpi.pr_ppid;
bindpset = rpi.pr_bindpset;
fname = rpi.pr_fname;
Modified: trunk/orca/lib/SE/3.3.1/workinfo_class.se
==============================================================================
--- trunk/orca/lib/SE/3.3.1/workinfo_class.se (original)
+++ trunk/orca/lib/SE/3.3.1/workinfo_class.se Wed Nov 17 15:32:25 2004
@@ -90,7 +90,7 @@
#include <dirent.se>
#include <fcntl.se>
#include <proc.se>
-#include <process_class.se>
+#include <orca_process_class.se>
#include <pwd.se>
struct work_info_t {
@@ -324,6 +324,7 @@
wi[i].info.priority += pp.priority;
wi[i].info.niceness += pp.niceness;
}
+ wi[i].info.lwp_max += pp.lwp_max;
wi[i].info.lwp_count += pp.lwp_count;
wi[i].count++;
if (firstmatch == 1 && i > 0) { // First match only counts
Modified: trunk/orca/lib/SE/3.3/orca_process_class.se
==============================================================================
--- trunk/orca/lib/SE/3.3/orca_process_class.se (original)
+++ trunk/orca/lib/SE/3.3/orca_process_class.se Wed Nov 17 15:32:25 2004
@@ -222,6 +222,7 @@
ulong icontexts; // in-ditto
ulong charios; // characters in and out/interval
ulong lwp_count; // number of lwps for the process
+ ulong lwp_max; // number of contributing lwps for the process
int uid; // current uid
long ppid; // parent pid
int bindpset; // processor set binding
@@ -543,6 +544,7 @@
rpi.n_pr_time = PS.pr_time;
rpi.o_pr_ctime = rpi.n_pr_ctime;
rpi.n_pr_ctime = PS.pr_ctime;
+ rpi.lwp_count = PS.pr_nlwp;
rpi.gencnt = gen;
struct_empty(rpi, pp);
nproc++;
@@ -799,7 +801,8 @@
priority = rpi.pr_pri;
niceness = rpi.pr_nice;
sched_class = rpi.pr_clname;
- lwp_count = NU.pr_count;
+ lwp_max = NU.pr_count;
+ lwp_count = rpi.lwp_count;
ppid = rpi.pr_ppid;
bindpset = rpi.pr_bindpset;
fname = rpi.pr_fname;
Modified: trunk/orca/lib/SE/3.3/workinfo_class.se
==============================================================================
--- trunk/orca/lib/SE/3.3/workinfo_class.se (original)
+++ trunk/orca/lib/SE/3.3/workinfo_class.se Wed Nov 17 15:32:25 2004
@@ -90,7 +90,7 @@
#include <dirent.se>
#include <fcntl.se>
#include <proc.se>
-#include <process_class.se>
+#include <orca_process_class.se>
#include <pwd.se>
struct work_info_t {
@@ -324,6 +324,7 @@
wi[i].info.priority += pp.priority;
wi[i].info.niceness += pp.niceness;
}
+ wi[i].info.lwp_max += pp.lwp_max;
wi[i].info.lwp_count += pp.lwp_count;
wi[i].count++;
if (firstmatch == 1 && i > 0) { // First match only counts
More information about the Orca-checkins
mailing list