summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-03-27 15:54:54 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-03-27 15:54:54 +0000
commitd3176083a60d5d576a1f078dfd656170461ba34b (patch)
treef586c02fc1c117d02b3662ea38a873554e1e1b75
parent07cb5edd6ebaca48d33be7e6a51d139813f4c846 (diff)
downloadATCD-d3176083a60d5d576a1f078dfd656170461ba34b.tar.gz
ChangeLogTag:Wed Mar 27 10:53:44 2002 Carlos O'Ryan <coryan@uci.edu>
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a88
-rwxr-xr-xTAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_gnuplot.pl2
-rwxr-xr-xTAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_percentiles.sh37
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/parameters10
-rwxr-xr-xTAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_dispatching.sh2
-rwxr-xr-xTAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_locking.sh2
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/parameters19
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/roundtrip.conf2
-rwxr-xr-xTAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/run_roundtrip.sh26
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Makefile1
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Roundtrip.cpp12
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Roundtrip.h6
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Test.idl3
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp33
-rwxr-xr-xTAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/generate_percentiles.sh54
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/realtime.conf2
-rwxr-xr-xTAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/run.sh9
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile472
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp29
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/parameters13
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/realtime.conf2
-rwxr-xr-xTAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/run_test.sh34
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp13
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp82
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_read.conf2
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_write.conf2
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_delayed.conf2
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_immediate.conf2
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/parameters19
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/roundtrip.conf2
-rwxr-xr-xTAO/orbsvcs/performance-tests/RTEvent/Roundtrip/run_locking.sh28
-rwxr-xr-xTAO/orbsvcs/performance-tests/RTEvent/Roundtrip/run_roundtrip.sh22
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp8
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.cpp4
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/RTPOA_Setup.cpp17
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/RTServer_Setup.cpp2
36 files changed, 706 insertions, 357 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index fcbb7444768..f333d65621c 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,91 @@
+Wed Mar 27 10:53:44 2002 Carlos O'Ryan <coryan@uci.edu>
+
+ * orbsvcs/performance-tests/RTEvent/Makefile:
+ Add the RTCORBA_Callback directory.
+
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Test.idl:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Roundtrip.h:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Roundtrip.cpp:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp:
+ Add workload parameters to the test, the server will burn a
+ prescribed amount of CPU before returning, command-line
+ arguments in the client are used to set the amount of CPU.
+
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile:
+ Regenerate depedendencies.
+
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp:
+ Print out progress every 1000 iterations. Reduce length of
+ critical section when checking if the task should be stopped.
+ Use helper class to run ORB event loop thread(s).
+ Just wait for the low priority task, not for all the tasks in
+ its Thread_Manager, otherwise we dead-lock during shutdown.
+
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp:
+ Use helper class to run ORB event loop thread(s).
+
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp:
+ Run only one thread for the ORB event loop, no more should be
+ needed because all the events are processed by the RT-POA
+ threads.
+ Simplify POA configuration.
+ Improve debug messages.
+ Make it possible to connect the high-priority consumer/supplier
+ after all the low-priority consumers or before them.
+
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp:
+ Use helper class to run ORB event loop thread(s).
+
+ * orbsvcs/performance-tests/RTEvent/lib/Client_Options.cpp:
+ Fixed options for low/high-priority workload (they were
+ reversed).
+
+ * orbsvcs/performance-tests/RTEvent/lib/RTPOA_Setup.cpp:
+ Move thread pool policy to the end of the list, easier to remove
+ the thread pool stuff that way.
+
+ * orbsvcs/performance-tests/RTEvent/lib/RTServer_Setup.cpp:
+ Configure a special POA when RT-CORBA is enabled, though the POA
+ may not have a thread pool for the moment.
+
+ * orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/roundtrip.conf:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/realtime.conf:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/roundtrip.conf:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_read.conf:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_write.conf:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_delayed.conf:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_immediate.conf:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/realtime.conf:
+ Per Irfan's recommendation used the 'direct' mapping instead of
+ 'continuous', with no visible effects.
+
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/generate_percentiles.sh:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/run.sh:
+
+ * orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/parameters:
+ * orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/run_roundtrip.sh:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/parameters:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/run_test.sh:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/parameters:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/run_roundtrip.sh:
+ * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/parameters:
+ * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_dispatching.sh:
+ * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_locking.sh:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/run_locking.sh:
+ Commit the driver scripts, I didn't keep track of all the
+ changes, and IMHO they do no matter all that much, the scripts
+ are throw-away prototypes, once the tests become stable I'll add
+ the final perl scripts.
+
+ * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_gnuplot.pl:
+ Receive the list of 'types' from the command line, better than
+ some hard-coded set.
+
+ * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_percentiles.sh:
+ Receive the list of types from the command line, also made the
+ list of percentiles configurable. Fix subtle problems in the
+ boundary conditions.
+
Wed Mar 27 09:23:42 2002 Jeff Parsons <parsons@cs.wustl.edu>
* TAO_IDL/be/be_visitor_operation/operation.cpp:
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_gnuplot.pl b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_gnuplot.pl
index 934d77c5715..f39e43497d6 100755
--- a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_gnuplot.pl
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_gnuplot.pl
@@ -3,7 +3,7 @@
# $Id$
#
-foreach $t ('copy_on_read', 'delayed') {
+foreach $t (@ARGV) {
print "plot '", $t, "_delta.32.histo.dat'\n";
foreach $i (2..16) {
print "replot '", $t, "_delta.", 32*$i, ".histo.dat'\n";
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_percentiles.sh b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_percentiles.sh
index 28ddaffd752..1ee71321146 100755
--- a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_percentiles.sh
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_percentiles.sh
@@ -2,16 +2,17 @@
. parameters
-for t in $TYPES; do
- cat /dev/null > ${t}.min.dat
+PERCENTILES="0 .25 .50 .75 .99 .999 .9999 1"
+
+for t in $*; do
cat /dev/null > ${t}.avg.dat
- cat /dev/null > ${t}.99.dat
- cat /dev/null > ${t}.999.dat
- cat /dev/null > ${t}.9999.dat
+ for p in $PERCENTILES; do
+ cat /dev/null > ${t}$p.percentile.dat
+ done
for c in $NCONSUMERS; do
echo $t $c
- INPUT=${INPUT_BASE}.${t}.${c}.8.txt
+ INPUT=${t}.${c}.16.txt
awk -v c=$c '/^HISTO/ {
n++;
s += $3
@@ -19,31 +20,25 @@ for t in $TYPES; do
END {
printf("%d %f\n", c, s/n);
}' $INPUT >> ${t}.avg.dat
- awk -v c=$c 'BEGIN { n = 0; }
- /^HISTO/ {
- if (n == 0 || m > $3) {
- m = $3;
- }
- n++;
- }
- END {
- printf("%d %f\n", c, m);
- }' $INPUT >> ${t}.min.dat
TFILE=/tmp/${t}.$$
awk '/^HISTO/ {print $3}' $INPUT | sort -n | uniq -c > $TFILE
- for p in 99 999 9999; do
+ for p in $PERCENTILES; do
awk -v N=$ITERATIONS '{print $2, $1 / N}' $TFILE |
- awk -v c=$c -v p=0.${p} '\
-BEGIN { x = 0; }
+ awk -v c=$c -v p=${p} '\
+BEGIN { x = 0; l = 0; }
{ s += $2;
- if (x == 0 && s > p) {
+ l = $1;
+ if (x == 0 && s >= p) {
x = $1;
}
}
END {
+ if (s < p) {
+ x = l;
+ }
printf("%d %f\n", c, x);
-}' >> ${t}.${p}.dat
+}' >> ${t}${p}.percentile.dat
done
/bin/rm -f $TFILE
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/parameters b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/parameters
index f106d61a5d1..b2edbcae0ba 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/parameters
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/parameters
@@ -1,13 +1,9 @@
-NTHREADS="16"
-#NTHREADS="1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32"
+NTHREADS="32"
-#NCONSUMERS="32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 512"
-NCONSUMERS="32 64 128 256"
+NCONSUMERS="32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 512"
-ITERATIONS=3000
+ITERATIONS=25000
LOCKING_TYPES="copy_on_read copy_on_write delayed"
DISPATCHING_TYPES="threaded reactive rtcorba"
FILTER_TYPES="null per_supplier"
-
-INPUT_BASE="ec_locking"
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_dispatching.sh b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_dispatching.sh
index d8208bc63e3..d7e336b4e7c 100755
--- a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_dispatching.sh
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_dispatching.sh
@@ -6,7 +6,7 @@
. parameters
for n in 2; do
- for c in 12; do
+ for c in 2 4 6 8 10 12; do
date
echo rtcorba $c $n
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_locking.sh b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_locking.sh
index 7bca35c195a..88cda17cdcd 100755
--- a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_locking.sh
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_locking.sh
@@ -11,7 +11,7 @@ for n in $NTHREADS; do
date
echo $t $c $n
- ./driver -ORBSvcConf ec.locking_${t}.conf -d -f -h 10000 -l 10000 -i $ITERATIONS -c $c -n $n > ${INPUT_BASE}.${t}.${c}.${n}.txt 2>&1
+ ./driver -ORBSvcConf ec.locking_${t}.conf -d -f -h 10000 -l 10000 -i $ITERATIONS -c $c -n $n > ec_locking.${t}.${c}.${n}.txt 2>&1
done
done
done
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/parameters b/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/parameters
new file mode 100644
index 00000000000..bc36f6531b7
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/parameters
@@ -0,0 +1,19 @@
+NTHREADS="16"
+
+NCONSUMERS="32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 512"
+
+ITERATIONS=25000
+#ITERATIONS=3000
+
+LOCKING_TYPES="copy_on_read copy_on_write delayed"
+DISPATCHING_TYPES="threaded reactive rtcorba"
+FILTER_TYPES="null per_supplier"
+
+#IOR=/project/amras/coryan/IOR/roundtrip.ior
+IOR=test.ior
+
+#REMOTE_HOST=celegorm
+REMOTE_HOST=localhost
+
+#REMOTE_LOCATION=/project/celegorm/coryan/EC_Roundtrip
+REMOTE_LOCATION=$PWD
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/roundtrip.conf b/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/roundtrip.conf
new file mode 100644
index 00000000000..b0e36ffb28b
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/roundtrip.conf
@@ -0,0 +1,2 @@
+# $Id$
+static EC_Factory "-ECProxyPushConsumerCollection mt:copy_on_write:list -ECProxyPushSupplierCollection mt:copy_on_write:list"
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/run_roundtrip.sh b/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/run_roundtrip.sh
new file mode 100755
index 00000000000..bfaa3ec2bc2
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/run_roundtrip.sh
@@ -0,0 +1,26 @@
+#! /bin/sh
+#
+# $Id$
+#
+
+. parameters
+
+for c in $NCONSUMERS; do
+
+ date
+ echo $t $c $n
+
+ /bin/rm -f $IOR
+# ssh $REMOTE_HOST "cd $REMOTE_LOCATION ; ./server -ORBSvcConf ec.locking_${t}.conf -r -o $IOR" >server.log 2>&1 </dev/null &
+ ./server -o $IOR -i $ITERATIONS -p 2 >server.$c.txt 2>&1 </dev/null &
+ while [ ! -f $IOR ]; do
+ sleep 1
+ done
+ ./client -ORBSvcConf roundtrip.conf -k file://$IOR -d -z -h 10000 -l 10000 -i $ITERATIONS -c $c > ec_roundtrip.$c.01.txt 2>&1 </dev/null &
+
+ ./client -ORBSvcConf roundtrip.conf -k file://$IOR -d -z -h 10000 -l 10000 -i $ITERATIONS -c $c > ec_roundtrip.$c.02.txt 2>&1 </dev/null &
+
+ wait
+ wait
+ wait
+done
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Makefile b/TAO/orbsvcs/performance-tests/RTEvent/Makefile
index 9a61abcefeb..73acc5cded0 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/Makefile
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Makefile
@@ -11,6 +11,7 @@
DIRS = \
lib \
RTCORBA_Baseline \
+ RTCORBA_Callback \
Roundtrip \
Federated_Roundtrip \
Colocated_Roundtrip
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Roundtrip.cpp b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Roundtrip.cpp
index 579db54c6d2..a8604ec6581 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Roundtrip.cpp
+++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Roundtrip.cpp
@@ -2,19 +2,29 @@
// $Id$
//
#include "Roundtrip.h"
+#include "ace/High_Res_Timer.h"
ACE_RCSID(TAO_RTEC_Perf_RTCORBA_Baseline, Roundtrip, "$Id$")
Roundtrip::Roundtrip (CORBA::ORB_ptr orb)
: orb_ (CORBA::ORB::_duplicate (orb))
+ , gsf_ (ACE_High_Res_Timer::calibrate ())
{
}
Test::Timestamp
-Roundtrip::test_method (Test::Timestamp send_time
+Roundtrip::test_method (Test::Timestamp send_time,
+ CORBA::Long workload_in_usecs
ACE_ENV_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((CORBA::SystemException))
{
+ ACE_hrtime_t start = ACE_OS::gethrtime ();
+ CORBA::Long elapsed = 0;
+ while (elapsed < workload_in_usecs)
+ {
+ // ACE_OS::sleep (0);
+ elapsed = (ACE_OS::gethrtime () - start) / this->gsf_;
+ }
return send_time;
}
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Roundtrip.h b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Roundtrip.h
index 69f3e7f3623..2572b28f0bf 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Roundtrip.h
+++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Roundtrip.h
@@ -18,7 +18,8 @@ public:
Roundtrip (CORBA::ORB_ptr orb);
// = The skeleton methods
- virtual Test::Timestamp test_method (Test::Timestamp send_time
+ virtual Test::Timestamp test_method (Test::Timestamp send_time,
+ CORBA::Long workload_in_usecs
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException));
@@ -29,6 +30,9 @@ private:
/// Use an ORB reference to conver strings to objects and shutdown
/// the application.
CORBA::ORB_var orb_;
+
+ /// Translate the high resolution timer units into microseconds
+ ACE_UINT32 gsf_;
};
#include "ace/post.h"
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Test.idl b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Test.idl
index 3f26904a3f0..7e72f72bcb5 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Test.idl
+++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Test.idl
@@ -18,7 +18,8 @@ module Test
* without the need for a different reply handler for each
* request.
*/
- Timestamp test_method (in Timestamp send_time);
+ Timestamp test_method (in Timestamp send_time,
+ in long workload_in_usecs);
/// Shutdown the ORB
void shutdown ();
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp
index 001e0381392..63279a060c9 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp
+++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp
@@ -62,11 +62,13 @@ public:
High_Priority_Task (Test::Roundtrip_ptr roundtrip,
ACE_Barrier *barrier,
int iterations,
- int period_in_usecs)
+ int period_in_usecs,
+ int workload)
: Roundtrip_Task (roundtrip, barrier)
, sample_history (iterations)
, iterations_ (iterations)
, period_in_usecs_ (period_in_usecs)
+ , workload_ (workload)
{
}
@@ -79,7 +81,8 @@ public:
ACE_TRY {
ACE_hrtime_t start = ACE_OS::gethrtime ();
- (void) this->roundtrip_->test_method (start
+ (void) this->roundtrip_->test_method (start,
+ this->workload_
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
ACE_hrtime_t elapsed = ACE_OS::gethrtime () - start;
@@ -97,6 +100,8 @@ private:
int iterations_;
int period_in_usecs_;
+
+ int workload_;
};
class Low_Priority_Task : public Roundtrip_Task
@@ -104,10 +109,12 @@ class Low_Priority_Task : public Roundtrip_Task
public:
Low_Priority_Task (Test::Roundtrip_ptr roundtrip,
ACE_Barrier *barrier,
- int period_in_usecs)
+ int period_in_usecs,
+ int workload)
: Roundtrip_Task (roundtrip, barrier)
, stopped_ (0)
, period_in_usecs_ (period_in_usecs)
+ , workload_ (workload)
{
}
@@ -124,14 +131,16 @@ public:
ACE_Time_Value period (0, this->period_in_usecs_);
ACE_OS::sleep (period);
- ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_);
- if (this->stopped_)
- return;
-
+ {
+ ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_);
+ if (this->stopped_)
+ return;
+ }
ACE_TRY {
CORBA::ULongLong dummy = 0;
- (void) this->roundtrip_->test_method (dummy
+ (void) this->roundtrip_->test_method (dummy,
+ this->workload_
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
@@ -146,6 +155,8 @@ private:
int stopped_;
int period_in_usecs_;
+
+ int workload_;
};
int main (int argc, char *argv[])
@@ -213,7 +224,8 @@ int main (int argc, char *argv[])
if (options.global_low_priority_rate)
per_thread_period = options.low_priority_period * options.nthreads;
Low_Priority_Task low_priority (roundtrip.in (), &barrier,
- per_thread_period);
+ per_thread_period,
+ options.low_priority_workload);
low_priority.activate (rt_class.thr_sched_class ()
| THR_NEW_LWP | THR_JOINABLE,
options.nthreads, 1,
@@ -221,7 +233,8 @@ int main (int argc, char *argv[])
High_Priority_Task high_priority (roundtrip.in (), &barrier,
options.iterations,
- options.high_priority_period);
+ options.high_priority_period,
+ options.high_priority_workload);
high_priority.activate (rt_class.thr_sched_class ()
| THR_NEW_LWP | THR_JOINABLE,
1, 1,
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/generate_percentiles.sh b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/generate_percentiles.sh
index dc610791904..8d0914a6c16 100755
--- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/generate_percentiles.sh
+++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/generate_percentiles.sh
@@ -1,42 +1,46 @@
#/bin/sh
-CONSUMERS="1 2 4 6 8 10 12 14 16 18 20 22 24"
+. parameters
-for t in reactive rtcorba; do
- cat /dev/null > ${t}.min.dat
+PERCENTILES="0 .25 .50 .75 .99 .999 .9999 1"
+
+for t in $*; do
cat /dev/null > ${t}.avg.dat
- cat /dev/null > ${t}.99.dat
- cat /dev/null > ${t}.999.dat
- cat /dev/null > ${t}.9999.dat
+ for p in $PERCENTILES; do
+ cat /dev/null > ${t}$p.percentile.dat
+ done
- for c in $CONSUMERS; do
+ for c in $NCONSUMERS; do
+ echo $t $c
INPUT=${t}.${c}.txt
- awk -v c=$c '/^HISTO/ {n++; s += $3} END {printf("%d %f\n", c, s/n);}' $INPUT >> ${t}.avg.dat
- awk -v c=$c 'BEGIN { n = 0; }
- /^HISTO/ {
- if (n == 0 || m > $3) {
- m = $3;
- }
- n++;
- }
- END {
- printf("%d %f\n", c, m);
- }' $INPUT >> ${t}.min.dat
+ awk -v c=$c '/^HISTO/ {
+ n++;
+ s += $3
+ }
+ END {
+ printf("%d %f\n", c, s/n);
+ }' $INPUT >> ${t}.avg.dat
- for p in 99 999 9999; do
- awk '/^HISTO/ {print $3}' $INPUT | sort -n | uniq -c |
- awk '{print $2, $1 / 20000.0}' |
- awk -v c=$c -v p=0.${p} '\
-BEGIN { x = 0; }
+ TFILE=/tmp/${t}.$$
+ awk '/^HISTO/ {print $3}' $INPUT | sort -n | uniq -c > $TFILE
+ for p in $PERCENTILES; do
+ awk -v N=$ITERATIONS '{print $2, $1 / N}' $TFILE |
+ awk -v c=$c -v p=${p} '\
+BEGIN { x = 0; l = 0; }
{ s += $2;
- if (x == 0 && s > p) {
+ l = $1;
+ if (x == 0 && s >= p) {
x = $1;
}
}
END {
+ if (s < p) {
+ x = l;
+ }
printf("%d %f\n", c, x);
-}' >> ${t}.${p}.dat
+}' >> ${t}${p}.percentile.dat
done
+ /bin/rm -f $TFILE
done
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/realtime.conf b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/realtime.conf
index 3a353fa3bf6..493ad253959 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/realtime.conf
+++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/realtime.conf
@@ -1,2 +1,2 @@
# $Id$
-static RT_ORB_Loader "-ORBSchedPolicy SCHED_FIFO -ORBPriorityMapping continuous"
+static RT_ORB_Loader "-ORBSchedPolicy SCHED_FIFO -ORBPriorityMapping direct"
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/run.sh b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/run.sh
index aaa19f49bee..925ea8751dc 100755
--- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/run.sh
+++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/run.sh
@@ -3,8 +3,9 @@
# $Id$
#
-LOW_PRIORITY="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28"
-#"1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32"
+LOW_PRIORITY="1 4 8 12 16 20 24 28 32"
+
+ITERATIONS=10000
#IOR=/project/amras/coryan/IOR/roundtrip.ior
IOR=test.ior
@@ -19,7 +20,7 @@ for c in $LOW_PRIORITY; do
while [ ! -f $IOR ]; do
sleep 1
done
- ./client -ORBSvcConf realtime.conf -r -d -h 10000 -l 10000 -i 20000 -n $c -k file://$IOR > rtcorba.$c.txt 2>&1
+ ./client -ORBSvcConf realtime.conf -g -r -d -h 0 -l 0 -w 9000 -i $ITERATIONS -n $c -k file://$IOR > rtcorba.$c.txt 2>&1
sleep 5
wait
@@ -32,7 +33,7 @@ for c in $LOW_PRIORITY; do
while [ ! -f $IOR ]; do
sleep 1
done
- ./client -d -h 10000 -l 10000 -i 20000 -n $c -k file://$IOR > reactive.$c.txt 2>&1
+ ./client -g -d -h 0 -l 0 -w 9000 -i $ITERATIONS -n $c -k file://$IOR > reactive.$c.txt 2>&1
sleep 5
wait
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile
index 9e6e1d1f14a..62aebd6b9e0 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile
+++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile
@@ -70,8 +70,9 @@ realclean: clean
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-.obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \
- $(ACE_ROOT)/ace/pre.h \
+.obj/server.o .obj/server.o .obj/server.o .obj/server.o: server.cpp Session_Factory.h \
+ $(ACE_ROOT)/ace/pre.h TestS.h TestC.h \
+ $(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
@@ -80,13 +81,16 @@ realclean: clean
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
- $(ACE_ROOT)/ace/Sched_Params.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/OS_Dirent.h \
$(ACE_ROOT)/ace/OS_Dirent.inl \
$(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/OS_String.inl \
$(ACE_ROOT)/ace/OS_Memory.h \
$(ACE_ROOT)/ace/OS_Memory.inl \
@@ -98,13 +102,6 @@ realclean: clean
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Trace.h \
$(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Sched_Params.i \
- ../lib/RT_Class.inl ../lib/ORB_Holder.h \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/corbafwd.h \
- $(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/Flag_Manip.h \
$(ACE_ROOT)/ace/Flag_Manip.i \
$(ACE_ROOT)/ace/Handle_Ops.h \
@@ -171,6 +168,7 @@ realclean: clean
$(TAO_ROOT)/tao/varbase.h \
$(TAO_ROOT)/tao/TAO_Export.h \
$(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/Typecode.h \
$(TAO_ROOT)/tao/Exception.h \
$(ACE_ROOT)/ace/SString.h \
$(ACE_ROOT)/ace/String_Base.h \
@@ -182,7 +180,16 @@ realclean: clean
$(ACE_ROOT)/ace/Auto_Ptr.cpp \
$(ACE_ROOT)/ace/SString.i \
$(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Services.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
$(TAO_ROOT)/tao/Sequence.h \
$(TAO_ROOT)/tao/Managed_Types.h \
$(TAO_ROOT)/tao/Managed_Types.i \
@@ -190,28 +197,80 @@ realclean: clean
$(TAO_ROOT)/tao/Sequence_T.h \
$(TAO_ROOT)/tao/Sequence_T.i \
$(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/Environment.h \
- $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Services.h \
$(TAO_ROOT)/tao/Services.i \
$(TAO_ROOT)/tao/CORBA_String.h \
$(TAO_ROOT)/tao/CORBA_String.inl \
$(TAO_ROOT)/tao/PolicyC.h \
$(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Policy_ForwardC.h \
- $(TAO_ROOT)/tao/CDR.h \
- $(ACE_ROOT)/ace/CDR_Stream.h \
- $(ACE_ROOT)/ace/CDR_Stream.i \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/Policy_ForwardC.i \
- $(TAO_ROOT)/tao/Object.i \
$(TAO_ROOT)/tao/CurrentC.i \
$(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \
$(TAO_ROOT)/tao/Object_Proxy_Impl.h \
$(TAO_ROOT)/tao/Encodable.h \
$(TAO_ROOT)/tao/PolicyC.i \
$(TAO_ROOT)/tao/ORB.i \
- ../lib/ORB_Holder.inl ../lib/Servant_var.h \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/WrongTransactionC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/ObjectIDList.h \
+ $(TAO_ROOT)/tao/ObjectIDList.i \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/ObjectReferenceTemplateC.h \
+ $(TAO_ROOT)/tao/ObjectReferenceTemplateC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ TestC.i \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Atomic_Op.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i ../lib/RT_Class.h \
+ ../lib/rtec_perf_export.h \
+ $(ACE_ROOT)/ace/Sched_Params.h \
+ $(ACE_ROOT)/ace/Sched_Params.i \
+ ../lib/RT_Class.inl ../lib/ORB_Holder.h ../lib/ORB_Holder.inl \
+ ../lib/Servant_var.h \
$(ACE_ROOT)/ace/Swap.h \
$(ACE_ROOT)/ace/Swap.inl \
$(ACE_ROOT)/ace/Swap.cpp \
@@ -221,12 +280,6 @@ realclean: clean
$(TAO_ROOT)/tao/RTCORBA/RTCORBA.h \
$(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \
$(TAO_ROOT)/tao/RTCORBA/RTCORBAC.h \
- $(TAO_ROOT)/tao/IOPC.h \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/IOPC.i \
$(TAO_ROOT)/tao/TimeBaseC.h \
$(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
$(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
@@ -246,83 +299,65 @@ realclean: clean
$(TAO_ROOT)/tao/RTCORBA/Priority_Mapping_Manager.h \
$(TAO_ROOT)/tao/RTCORBA/Priority_Mapping.h \
$(TAO_ROOT)/tao/RTCORBA/Priority_Mapping.i \
- $(TAO_ROOT)/tao/LocalObject.h \
- $(TAO_ROOT)/tao/LocalObject.i \
$(TAO_ROOT)/tao/RTCORBA/Priority_Mapping_Manager.i \
../lib/RTCORBA_Setup.inl ../lib/PriorityBand_Setup.h \
../lib/PriorityBand_Setup.inl ../lib/SyncScope_Setup.h \
$(TAO_ROOT)/tao/Messaging/Messaging.h \
$(TAO_ROOT)/tao/Messaging/MessagingC.h \
$(TAO_ROOT)/tao/Messaging/messaging_export.h \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/PollableC.h \
$(TAO_ROOT)/tao/PollableC.i \
- $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
- $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
$(TAO_ROOT)/tao/Messaging/MessagingC.i \
../lib/SyncScope_Setup.inl ../lib/RTClient_Setup.inl \
../lib/RTPOA_Setup.h \
$(TAO_ROOT)/tao/RTPortableServer/RTPortableServer.h \
$(TAO_ROOT)/tao/RTPortableServer/rtportableserver_export.h \
$(TAO_ROOT)/tao/RTPortableServer/RTPortableServerC.h \
- $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
- $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
- $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
$(TAO_ROOT)/tao/RTPortableServer/RTPortableServerC.i \
- ../lib/RTPOA_Setup.inl ../lib/RTServer_Setup.inl Session_Factory.h \
- TestS.h TestC.h \
- $(TAO_ROOT)/tao/corba.h \
- $(TAO_ROOT)/tao/NVList.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.inl \
- $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/OctetSeqC.h \
- $(TAO_ROOT)/tao/OctetSeqC.i \
- $(TAO_ROOT)/tao/Principal.i \
- $(TAO_ROOT)/tao/BoundsC.h \
- $(TAO_ROOT)/tao/BoundsC.i \
- $(TAO_ROOT)/tao/DomainC.h \
- $(TAO_ROOT)/tao/DomainC.i \
- $(TAO_ROOT)/tao/WrongTransactionC.h \
- $(TAO_ROOT)/tao/WrongTransactionC.i \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/ObjectIDList.h \
- $(TAO_ROOT)/tao/ObjectIDList.i \
- $(TAO_ROOT)/tao/StringSeqC.h \
- $(TAO_ROOT)/tao/StringSeqC.i \
- $(TAO_ROOT)/tao/PortableInterceptorC.h \
- $(TAO_ROOT)/tao/DynamicC.h \
- $(TAO_ROOT)/tao/DynamicC.i \
- $(TAO_ROOT)/tao/ObjectReferenceTemplateC.h \
- $(TAO_ROOT)/tao/ObjectReferenceTemplateC.i \
- $(TAO_ROOT)/tao/PortableInterceptorC.i \
- TestC.i \
- $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
- $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
- $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
- $(ACE_ROOT)/ace/Atomic_Op.h \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Atomic_Op.cpp \
- $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
- $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \
- $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \
- $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
- $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
- TestS_T.h TestS_T.i TestS_T.cpp TestS.i \
- $(TAO_ROOT)/tao/Strategies/advanced_resource.h \
- $(TAO_ROOT)/tao/Strategies/strategies_export.h \
- $(TAO_ROOT)/tao/default_resource.h \
- $(TAO_ROOT)/tao/Resource_Factory.h \
+ ../lib/RTPOA_Setup.inl ../lib/RTServer_Setup.inl ../lib/ORB_Task.h \
+ $(ACE_ROOT)/ace/Task.h \
$(ACE_ROOT)/ace/Service_Object.h \
$(ACE_ROOT)/ace/Shared_Object.h \
$(ACE_ROOT)/ace/Shared_Object.i \
$(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ ../lib/ORB_Task.inl ../lib/ORB_Task_Activator.h ../lib/Task_Activator.h \
+ $(ACE_ROOT)/ace/Copy_Disabled.h \
+ ../lib/Task_Activator.inl ../lib/Task_Activator.cpp \
+ ../lib/ORB_Task_Activator.inl \
+ $(TAO_ROOT)/tao/Strategies/advanced_resource.h \
+ $(TAO_ROOT)/tao/Strategies/strategies_export.h \
+ $(TAO_ROOT)/tao/default_resource.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
$(TAO_ROOT)/tao/Pluggable.h \
$(TAO_ROOT)/tao/Pluggable.i \
$(TAO_ROOT)/tao/Protocol_Factory.h \
@@ -363,9 +398,6 @@ realclean: clean
$(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
$(TAO_ROOT)/tao/Object_Ref_Table.h \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
@@ -382,23 +414,14 @@ realclean: clean
$(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/Protocols_Hooks.h \
$(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Thread_Manager.i \
$(TAO_ROOT)/tao/ORB_Core.i \
$(TAO_ROOT)/tao/Strategies/advanced_resource.i \
$(ACE_ROOT)/ace/Get_Opt.h \
$(ACE_ROOT)/ace/Get_Opt.i
-.obj/client.o .obj/client.so .shobj/client.o .shobj/client.so: client.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \
- $(ACE_ROOT)/ace/pre.h \
+.obj/client.o .obj/client.o .obj/client.o .obj/client.o: client.cpp Callback.h \
+ $(ACE_ROOT)/ace/pre.h TestS.h TestC.h \
+ $(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
@@ -407,13 +430,16 @@ realclean: clean
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
- $(ACE_ROOT)/ace/Sched_Params.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/OS_Dirent.h \
$(ACE_ROOT)/ace/OS_Dirent.inl \
$(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/OS_String.inl \
$(ACE_ROOT)/ace/OS_Memory.h \
$(ACE_ROOT)/ace/OS_Memory.inl \
@@ -425,13 +451,6 @@ realclean: clean
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Trace.h \
$(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Sched_Params.i \
- ../lib/RT_Class.inl ../lib/ORB_Holder.h \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/corbafwd.h \
- $(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/Flag_Manip.h \
$(ACE_ROOT)/ace/Flag_Manip.i \
$(ACE_ROOT)/ace/Handle_Ops.h \
@@ -498,6 +517,7 @@ realclean: clean
$(TAO_ROOT)/tao/varbase.h \
$(TAO_ROOT)/tao/TAO_Export.h \
$(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/Typecode.h \
$(TAO_ROOT)/tao/Exception.h \
$(ACE_ROOT)/ace/SString.h \
$(ACE_ROOT)/ace/String_Base.h \
@@ -509,7 +529,16 @@ realclean: clean
$(ACE_ROOT)/ace/Auto_Ptr.cpp \
$(ACE_ROOT)/ace/SString.i \
$(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Services.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
$(TAO_ROOT)/tao/Sequence.h \
$(TAO_ROOT)/tao/Managed_Types.h \
$(TAO_ROOT)/tao/Managed_Types.i \
@@ -517,28 +546,82 @@ realclean: clean
$(TAO_ROOT)/tao/Sequence_T.h \
$(TAO_ROOT)/tao/Sequence_T.i \
$(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/Environment.h \
- $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Services.h \
$(TAO_ROOT)/tao/Services.i \
$(TAO_ROOT)/tao/CORBA_String.h \
$(TAO_ROOT)/tao/CORBA_String.inl \
$(TAO_ROOT)/tao/PolicyC.h \
$(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Policy_ForwardC.h \
- $(TAO_ROOT)/tao/CDR.h \
- $(ACE_ROOT)/ace/CDR_Stream.h \
- $(ACE_ROOT)/ace/CDR_Stream.i \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/Policy_ForwardC.i \
- $(TAO_ROOT)/tao/Object.i \
$(TAO_ROOT)/tao/CurrentC.i \
$(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \
$(TAO_ROOT)/tao/Object_Proxy_Impl.h \
$(TAO_ROOT)/tao/Encodable.h \
$(TAO_ROOT)/tao/PolicyC.i \
$(TAO_ROOT)/tao/ORB.i \
- ../lib/ORB_Holder.inl ../lib/Servant_var.h \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/WrongTransactionC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/ObjectIDList.h \
+ $(TAO_ROOT)/tao/ObjectIDList.i \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/ObjectReferenceTemplateC.h \
+ $(TAO_ROOT)/tao/ObjectReferenceTemplateC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ TestC.i \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Atomic_Op.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i \
+ $(ACE_ROOT)/ace/Sample_History.h \
+ $(ACE_ROOT)/ace/Sample_History.inl \
+ ../lib/RT_Class.h ../lib/rtec_perf_export.h \
+ $(ACE_ROOT)/ace/Sched_Params.h \
+ $(ACE_ROOT)/ace/Sched_Params.i \
+ ../lib/RT_Class.inl ../lib/ORB_Holder.h ../lib/ORB_Holder.inl \
+ ../lib/Servant_var.h \
$(ACE_ROOT)/ace/Swap.h \
$(ACE_ROOT)/ace/Swap.inl \
$(ACE_ROOT)/ace/Swap.cpp \
@@ -548,12 +631,6 @@ realclean: clean
$(TAO_ROOT)/tao/RTCORBA/RTCORBA.h \
$(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \
$(TAO_ROOT)/tao/RTCORBA/RTCORBAC.h \
- $(TAO_ROOT)/tao/IOPC.h \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/IOPC.i \
$(TAO_ROOT)/tao/TimeBaseC.h \
$(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
$(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
@@ -573,85 +650,69 @@ realclean: clean
$(TAO_ROOT)/tao/RTCORBA/Priority_Mapping_Manager.h \
$(TAO_ROOT)/tao/RTCORBA/Priority_Mapping.h \
$(TAO_ROOT)/tao/RTCORBA/Priority_Mapping.i \
- $(TAO_ROOT)/tao/LocalObject.h \
- $(TAO_ROOT)/tao/LocalObject.i \
$(TAO_ROOT)/tao/RTCORBA/Priority_Mapping_Manager.i \
../lib/RTCORBA_Setup.inl ../lib/PriorityBand_Setup.h \
../lib/PriorityBand_Setup.inl ../lib/SyncScope_Setup.h \
$(TAO_ROOT)/tao/Messaging/Messaging.h \
$(TAO_ROOT)/tao/Messaging/MessagingC.h \
$(TAO_ROOT)/tao/Messaging/messaging_export.h \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
$(TAO_ROOT)/tao/PollableC.h \
$(TAO_ROOT)/tao/PollableC.i \
- $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
- $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
$(TAO_ROOT)/tao/Messaging/MessagingC.i \
../lib/SyncScope_Setup.inl ../lib/RTClient_Setup.inl \
../lib/RTPOA_Setup.h \
$(TAO_ROOT)/tao/RTPortableServer/RTPortableServer.h \
$(TAO_ROOT)/tao/RTPortableServer/rtportableserver_export.h \
$(TAO_ROOT)/tao/RTPortableServer/RTPortableServerC.h \
- $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
- $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
- $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
$(TAO_ROOT)/tao/RTPortableServer/RTPortableServerC.i \
../lib/RTPOA_Setup.inl ../lib/RTServer_Setup.inl \
- ../lib/Client_Options.h Callback.h TestS.h TestC.h \
- $(TAO_ROOT)/tao/corba.h \
- $(TAO_ROOT)/tao/NVList.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.inl \
- $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/OctetSeqC.h \
- $(TAO_ROOT)/tao/OctetSeqC.i \
- $(TAO_ROOT)/tao/Principal.i \
- $(TAO_ROOT)/tao/BoundsC.h \
- $(TAO_ROOT)/tao/BoundsC.i \
- $(TAO_ROOT)/tao/DomainC.h \
- $(TAO_ROOT)/tao/DomainC.i \
- $(TAO_ROOT)/tao/WrongTransactionC.h \
- $(TAO_ROOT)/tao/WrongTransactionC.i \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/ObjectIDList.h \
- $(TAO_ROOT)/tao/ObjectIDList.i \
- $(TAO_ROOT)/tao/StringSeqC.h \
- $(TAO_ROOT)/tao/StringSeqC.i \
- $(TAO_ROOT)/tao/PortableInterceptorC.h \
- $(TAO_ROOT)/tao/DynamicC.h \
- $(TAO_ROOT)/tao/DynamicC.i \
- $(TAO_ROOT)/tao/ObjectReferenceTemplateC.h \
- $(TAO_ROOT)/tao/ObjectReferenceTemplateC.i \
- $(TAO_ROOT)/tao/PortableInterceptorC.i \
- TestC.i \
- $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
- $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
- $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
- $(ACE_ROOT)/ace/Atomic_Op.h \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Atomic_Op.cpp \
- $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
- $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \
- $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \
- $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
- $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
- TestS_T.h TestS_T.i TestS_T.cpp TestS.i \
- $(ACE_ROOT)/ace/Sample_History.h \
- $(ACE_ROOT)/ace/Sample_History.inl \
- $(TAO_ROOT)/tao/Strategies/advanced_resource.h \
- $(TAO_ROOT)/tao/Strategies/strategies_export.h \
- $(TAO_ROOT)/tao/default_resource.h \
- $(TAO_ROOT)/tao/Resource_Factory.h \
+ ../lib/Client_Options.h ../lib/Implicit_Deactivator.h \
+ ../lib/Implicit_Deactivator.inl ../lib/Shutdown.h ../lib/Shutdown.inl \
+ ../lib/Shutdown.cpp ../lib/Auto_Functor.h ../lib/Auto_Functor.inl \
+ ../lib/Auto_Functor.cpp ../lib/ORB_Task.h \
+ $(ACE_ROOT)/ace/Task.h \
$(ACE_ROOT)/ace/Service_Object.h \
$(ACE_ROOT)/ace/Shared_Object.h \
$(ACE_ROOT)/ace/Shared_Object.i \
$(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Notification_Strategy.h \
+ $(ACE_ROOT)/ace/Notification_Strategy.inl \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ ../lib/ORB_Task.inl ../lib/ORB_Task_Activator.h ../lib/Task_Activator.h \
+ $(ACE_ROOT)/ace/Copy_Disabled.h \
+ ../lib/Task_Activator.inl ../lib/Task_Activator.cpp \
+ ../lib/ORB_Task_Activator.inl \
+ $(TAO_ROOT)/tao/Strategies/advanced_resource.h \
+ $(TAO_ROOT)/tao/Strategies/strategies_export.h \
+ $(TAO_ROOT)/tao/default_resource.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
$(TAO_ROOT)/tao/Pluggable.h \
$(TAO_ROOT)/tao/Pluggable.i \
$(TAO_ROOT)/tao/Protocol_Factory.h \
@@ -692,9 +753,6 @@ realclean: clean
$(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
$(TAO_ROOT)/tao/Object_Ref_Table.h \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
@@ -711,22 +769,16 @@ realclean: clean
$(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/Protocols_Hooks.h \
$(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Thread_Manager.i \
$(TAO_ROOT)/tao/ORB_Core.i \
$(TAO_ROOT)/tao/Strategies/advanced_resource.i \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Basic_Stats.h \
+ $(ACE_ROOT)/ace/Basic_Stats.inl \
+ $(ACE_ROOT)/ace/Stats.h \
+ $(ACE_ROOT)/ace/Stats.i
-.obj/Session.o .obj/Session.so .shobj/Session.o .shobj/Session.so: Session.cpp Session.h \
+.obj/Session.o .obj/Session.o .obj/Session.o .obj/Session.o: Session.cpp Session.h \
$(ACE_ROOT)/ace/pre.h TestS.h TestC.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
@@ -924,7 +976,7 @@ realclean: clean
TestS_T.h TestS_T.i TestS_T.cpp TestS.i ../lib/Implicit_Deactivator.h \
../lib/rtec_perf_export.h ../lib/Implicit_Deactivator.inl
-.obj/Session_Factory.o .obj/Session_Factory.so .shobj/Session_Factory.o .shobj/Session_Factory.so: Session_Factory.cpp Session_Factory.h \
+.obj/Session_Factory.o .obj/Session_Factory.o .obj/Session_Factory.o .obj/Session_Factory.o: Session_Factory.cpp Session_Factory.h \
$(ACE_ROOT)/ace/pre.h TestS.h TestC.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
@@ -1125,7 +1177,7 @@ realclean: clean
$(ACE_ROOT)/ace/Swap.cpp \
../lib/Servant_var.inl ../lib/Servant_var.cpp
-.obj/Callback.o .obj/Callback.so .shobj/Callback.o .shobj/Callback.so: Callback.cpp Callback.h \
+.obj/Callback.o .obj/Callback.o .obj/Callback.o .obj/Callback.o: Callback.cpp Callback.h \
$(ACE_ROOT)/ace/pre.h TestS.h TestC.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
@@ -1326,7 +1378,7 @@ realclean: clean
../lib/Implicit_Deactivator.h ../lib/rtec_perf_export.h \
../lib/Implicit_Deactivator.inl
-.obj/TestC.o .obj/TestC.so .shobj/TestC.o .shobj/TestC.so: TestC.cpp TestC.h \
+.obj/TestC.o .obj/TestC.o .obj/TestC.o .obj/TestC.o: TestC.cpp TestC.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/pre.h \
$(ACE_ROOT)/ace/post.h \
@@ -1631,7 +1683,7 @@ realclean: clean
$(TAO_ROOT)/tao/ClientInterceptorAdapter.h \
$(TAO_ROOT)/tao/ClientInterceptorAdapter.inl
-.obj/TestS.o .obj/TestS.so .shobj/TestS.o .shobj/TestS.so: TestS.cpp TestS.h TestC.h \
+.obj/TestS.o .obj/TestS.o .obj/TestS.o .obj/TestS.o: TestS.cpp TestS.h TestC.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/pre.h \
$(ACE_ROOT)/ace/post.h \
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp
index c3213cb0816..bf201caf6e7 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp
+++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp
@@ -1,15 +1,18 @@
// $Id$
+#include "Callback.h"
+
#include "RT_Class.h"
#include "ORB_Holder.h"
#include "Servant_var.h"
#include "RIR_Narrow.h"
#include "RTServer_Setup.h"
#include "Client_Options.h"
-#include "Callback.h"
#include "Implicit_Deactivator.h"
#include "Shutdown.h"
#include "Auto_Functor.h"
+#include "ORB_Task.h"
+#include "ORB_Task_Activator.h"
#include "tao/PortableServer/PortableServer.h"
#include "tao/RTPortableServer/RTPortableServer.h"
@@ -91,6 +94,13 @@ public:
for (int i = 0; i != this->iterations_; ++i)
{
+ if ((i + 1) % 1000 == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) - Thread has sent %d messages @ %T\n",
+ i + 1));
+ }
+
ACE_Time_Value period (0, this->period_in_usecs_);
ACE_OS::sleep (period);
@@ -152,10 +162,11 @@ public:
ACE_Time_Value period (0, this->period_in_usecs_);
ACE_OS::sleep (period);
- ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_);
- if (this->stopped_)
- return;
-
+ {
+ ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_);
+ if (this->stopped_)
+ return;
+ }
ACE_TRY {
CORBA::ULongLong dummy = 0;
@@ -230,6 +241,12 @@ int main (int argc, char *argv[])
PortableServer::POA_var the_poa (rtserver_setup.poa ());
+ ORB_Task orb_task (orb);
+ ORB_Task_Activator orb_task_activator (rt_class.priority_high (),
+ rt_class.thr_sched_class (),
+ options.nthreads,
+ &orb_task);
+
ACE_DEBUG ((LM_DEBUG, "Finished ORB and POA configuration\n"));
CORBA::Object_var object =
@@ -293,7 +310,7 @@ int main (int argc, char *argv[])
history.collect_basic_stats (high_priority_stats);
high_priority_stats.dump_results ("High Priority", gsf);
- low_priority.thr_mgr ()->wait ();
+ low_priority.wait ();
ACE_DEBUG ((LM_DEBUG, "(%P|%t) client - all task(s) joined\n"));
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/parameters b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/parameters
new file mode 100644
index 00000000000..919cc146b31
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/parameters
@@ -0,0 +1,13 @@
+NTHREADS="2 4 8 16 32"
+
+#ITERATIONS=25000
+ITERATIONS=5000
+
+#IOR=/project/amras/coryan/IOR/roundtrip.ior
+IOR=test.ior
+
+#REMOTE_HOST=celegorm
+REMOTE_HOST=localhost
+
+#REMOTE_LOCATION=/project/celegorm/coryan/EC_Roundtrip
+REMOTE_LOCATION=$PWD
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/realtime.conf b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/realtime.conf
new file mode 100644
index 00000000000..3a353fa3bf6
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/realtime.conf
@@ -0,0 +1,2 @@
+# $Id$
+static RT_ORB_Loader "-ORBSchedPolicy SCHED_FIFO -ORBPriorityMapping continuous"
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/run_test.sh b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/run_test.sh
new file mode 100755
index 00000000000..90304e63319
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/run_test.sh
@@ -0,0 +1,34 @@
+#! /bin/sh
+#
+# $Id$
+#
+
+. parameters
+
+for n in $NTHREADS; do
+ date
+ echo normal $n
+
+ /bin/rm -f $IOR
+# ssh $REMOTE_HOST "cd $REMOTE_LOCATION ;./server -o $IOR -n $n" >server.log 2>&1 </dev/null &
+ ./server -o $IOR -n $n >server.log 2>&1 </dev/null &
+ while [ ! -f $IOR ]; do
+ sleep 1
+ done
+ ./client -d -h 10000 -l 10000 -i $ITERATIONS -n $n -k file://$IOR > normal.$n.txt 2>&1
+
+ wait
+
+ date
+ echo realtime $n
+ /bin/rm -f $IOR
+# ssh $REMOTE_HOST "cd $REMOTE_LOCATION ; ./server -ORBSvcConf realtime.conf -r -o $IOR -n $n" >server.log 2>&1 </dev/null &
+ ./server -ORBSvcConf realtime.conf -r -o $IOR -n $n >server.log 2>&1 </dev/null &
+ while [ ! -f $IOR ]; do
+ sleep 1
+ done
+ ./client -ORBSvcConf realtime.conf -r -d -h 10000 -l 10000 -i $ITERATIONS -n $n -k file://$IOR > realtime.$n.txt 2>&1
+
+ wait
+
+done
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp
index 59d5e76e5d9..b4beae21924 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp
+++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp
@@ -1,11 +1,14 @@
// $Id$
+#include "Session_Factory.h"
+
#include "RT_Class.h"
#include "ORB_Holder.h"
#include "Servant_var.h"
#include "RIR_Narrow.h"
#include "RTServer_Setup.h"
-#include "Session_Factory.h"
+#include "ORB_Task.h"
+#include "ORB_Task_Activator.h"
#include "tao/PortableServer/PortableServer.h"
#include "tao/RTPortableServer/RTPortableServer.h"
@@ -92,6 +95,14 @@ int main (int argc, char *argv[])
PortableServer::POA_var the_poa (rtserver_setup.poa ());
+ ORB_Task orb_task (orb);
+ ORB_Task_Activator orb_task_activator (rt_class.priority_high (),
+ rt_class.thr_sched_class (),
+ nthreads,
+ &orb_task);
+
+ ACE_DEBUG ((LM_DEBUG, "Finished ORB and POA configuration\n"));
+
Servant_var<Session_Factory> session_factory (
new Session_Factory (orb,
the_poa.in ())
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp
index bdbd2f0774f..3a748eac566 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp
@@ -62,7 +62,7 @@ int main (int argc, char *argv[])
RTServer_Setup rtserver_setup (options.use_rt_corba,
orb,
rt_class,
- options.nthreads
+ 1 // options.nthreads
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
@@ -79,10 +79,7 @@ int main (int argc, char *argv[])
poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
- PortableServer::POA_var supplier_poa (rtserver_setup.poa ());
- PortableServer::POA_var consumer_poa (rtserver_setup.poa ());
-
- ACE_DEBUG ((LM_DEBUG, "Finished ORB and POA configuration\n"));
+ PortableServer::POA_var the_poa (rtserver_setup.poa ());
ACE_Thread_Manager my_thread_manager;
@@ -93,7 +90,7 @@ int main (int argc, char *argv[])
1,
&orb_task);
- ACE_DEBUG ((LM_DEBUG, "ORB is active\n"));
+ ACE_DEBUG ((LM_DEBUG, "Finished ORB and POA configuration\n"));
CORBA::Object_var object =
orb->string_to_object (options.ior ACE_ENV_ARG_PARAMETER);
@@ -111,7 +108,7 @@ int main (int argc, char *argv[])
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- ACE_DEBUG ((LM_DEBUG, "Finished EC configuration and activation\n"));
+ ACE_DEBUG ((LM_DEBUG, "Found EC, validated connection\n"));
int thread_count = 1 + options.nthreads;
@@ -123,9 +120,38 @@ int main (int argc, char *argv[])
ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor ();
ACE_DEBUG ((LM_DEBUG, "Done (%d)\n", gsf));
+ CORBA::Long event_range = 1;
+ if (options.funky_supplier_publication)
+ {
+ if (options.unique_low_priority_event)
+ event_range = 1 + options.low_priority_consumers;
+ else
+ event_range = 2;
+ }
+
+ Client_Group high_priority_group;
+ high_priority_group.init (experiment_id,
+ ACE_ES_EVENT_UNDEFINED,
+ event_range,
+ options.iterations,
+ options.high_priority_workload,
+ gsf,
+ the_poa.in (),
+ the_poa.in ());
+
+ Auto_Disconnect<Client_Group> high_priority_disconnect;
+
+ if (!options.high_priority_is_last)
+ {
+ high_priority_group.connect (ec.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ high_priority_disconnect = &high_priority_group;
+ }
+
int per_thread_period = options.low_priority_period;
if (options.global_low_priority_rate)
- per_thread_period = options.low_priority_period * options.low_priority_consumers;
+ per_thread_period = options.low_priority_period * options.nthreads;
Low_Priority_Setup<Client_Group> low_priority_setup (
options.low_priority_consumers,
@@ -139,31 +165,25 @@ int main (int argc, char *argv[])
rt_class.priority_low (),
rt_class.thr_sched_class (),
per_thread_period,
- supplier_poa.in (),
- consumer_poa.in (),
+ the_poa.in (),
+ the_poa.in (),
ec.in (),
&barrier
ACE_ENV_ARG_PARAMETER);
- Client_Group high_priority_group;
- high_priority_group.init (experiment_id,
- ACE_ES_EVENT_UNDEFINED,
- options.iterations,
- options.high_priority_workload,
- gsf,
- supplier_poa.in (),
- consumer_poa.in ());
- high_priority_group.connect (ec.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- Auto_Disconnect<Client_Group> high_priority_disconnect (&high_priority_group);
-
+ if (options.high_priority_is_last)
+ {
+ high_priority_group.connect (ec.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ high_priority_disconnect = &high_priority_group;
+ }
Send_Task high_priority_task;
high_priority_task.init (options.iterations,
options.high_priority_period,
0,
ACE_ES_EVENT_UNDEFINED,
- 1,
+ experiment_id,
high_priority_group.supplier (),
&barrier);
high_priority_task.thr_mgr (&my_thread_manager);
@@ -210,19 +230,5 @@ int main (int argc, char *argv[])
}
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class Servant_var<Supplier>;
-template class Servant_var<Consumer>;
-template class ACE_Auto_Basic_Array_Ptr<Servant_var<Supplier> >;
-template class ACE_Auto_Basic_Array_Ptr<Servant_var<Consumer> >;
-template class ACE_Auto_Basic_Array_Ptr<Send_Task>;
-
#elif defined(ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate Servant_var<Supplier>
-#pragma instantiate Servant_var<Consumer>
-#pragma instantiate ACE_Auto_Basic_Array_Ptr<Servant_var<Supplier> >
-#pragma instantiate ACE_Auto_Basic_Array_Ptr<Servant_var<Consumer> >
-#pragma instantiate ACE_Auto_Basic_Array_Ptr<Send_Task>
-
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_read.conf b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_read.conf
index eb046616fcb..49c7ad0b504 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_read.conf
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_read.conf
@@ -1,2 +1,2 @@
# $Id$
-static EC_Factory "-ECProxyPushConsumerCollection mt:list:copy_on_read -ECProxyPushSupplierCollection mt:list:copy_on_read"
+static EC_Factory "-ECProxyPushConsumerCollection mt:copy_on_read:list -ECProxyPushSupplierCollection mt:copy_on_read:list -ECSupplierFilter null"
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_write.conf b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_write.conf
index dcc99ac4235..691efd9c506 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_write.conf
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_write.conf
@@ -1,2 +1,2 @@
# $Id$
-static EC_Factory "-ECProxyPushConsumerCollection mt:list:copy_on_write -ECProxyPushSupplierCollection mt:list:copy_on_write "
+static EC_Factory "-ECProxyPushConsumerCollection mt:copy_on_write:list -ECProxyPushSupplierCollection mt:copy_on_write:list -ECSupplierFilter null"
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_delayed.conf b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_delayed.conf
index 1d244ea2b2f..f49ae54a94a 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_delayed.conf
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_delayed.conf
@@ -1,2 +1,2 @@
# $Id$
-static EC_Factory "-ECProxyPushConsumerCollection mt:list:delayed -ECProxyPushSupplierCollection mt:list:delayed"
+static EC_Factory "-ECProxyPushConsumerCollection mt:delayed:list -ECProxyPushSupplierCollection mt:delayed:list -ECSupplierFilter null"
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_immediate.conf b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_immediate.conf
index 8fd8eb64010..50aa86ff59a 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_immediate.conf
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_immediate.conf
@@ -1,2 +1,2 @@
# $Id$
-static EC_Factory "-ECProxyPushConsumerCollection mt:list:immediate -ECProxyPushSupplierCollection mt:list:immediate"
+static EC_Factory "-ECProxyPushConsumerCollection mt:immediate:list -ECProxyPushSupplierCollection mt:immediate:list -ECSupplierFilter null"
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/parameters b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/parameters
new file mode 100644
index 00000000000..bc36f6531b7
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/parameters
@@ -0,0 +1,19 @@
+NTHREADS="16"
+
+NCONSUMERS="32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 512"
+
+ITERATIONS=25000
+#ITERATIONS=3000
+
+LOCKING_TYPES="copy_on_read copy_on_write delayed"
+DISPATCHING_TYPES="threaded reactive rtcorba"
+FILTER_TYPES="null per_supplier"
+
+#IOR=/project/amras/coryan/IOR/roundtrip.ior
+IOR=test.ior
+
+#REMOTE_HOST=celegorm
+REMOTE_HOST=localhost
+
+#REMOTE_LOCATION=/project/celegorm/coryan/EC_Roundtrip
+REMOTE_LOCATION=$PWD
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/roundtrip.conf b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/roundtrip.conf
new file mode 100644
index 00000000000..b0e36ffb28b
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/roundtrip.conf
@@ -0,0 +1,2 @@
+# $Id$
+static EC_Factory "-ECProxyPushConsumerCollection mt:copy_on_write:list -ECProxyPushSupplierCollection mt:copy_on_write:list"
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/run_locking.sh b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/run_locking.sh
index acd4e1e882a..c2a9855bbdf 100755
--- a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/run_locking.sh
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/run_locking.sh
@@ -3,23 +3,23 @@
# $Id$
#
-LOW_PRIORITY="1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30"
+. parameters
-#IOR=/project/amras/coryan/IOR/roundtrip.ior
-IOR=test.ior
+for n in $NTHREADS; do
+ for c in $NCONSUMERS; do
+ for t in $LOCKING_TYPES; do
+ date
+ echo $t $c $n
-for c in $LOW_PRIORITY; do
- for t in copy_on_write copy_on_read delayed immediate; do
- date
- echo $t $c
+ /bin/rm -f $IOR
+# ssh $REMOTE_HOST "cd $REMOTE_LOCATION ; ./server -ORBSvcConf ec.locking_${t}.conf -r -o $IOR" >server.log 2>&1 </dev/null &
+ ./server -ORBSvcConf ec.locking_${t}.conf -o $IOR -n $n >server.log 2>&1 </dev/null &
+ while [ ! -f $IOR ]; do
+ sleep 1
+ done
+ ./client -d -u -h 10000 -l 10000 -i $ITERATIONS -c $c -n $n -k file://$IOR > ec_locking.${t}.$c.txt 2>&1
- /bin/rm -f $IOR
-# ssh celegorm "cd /project/celegorm/coryan/EC_Roundtrip ; ./server -ORBSvcConf ec.dispatching_rtcorba.conf -r -o $IOR" >server.log 2>&1 </dev/null &
- ./server -ORBSvcConf ec.locking_${t}.conf -o $IOR >server.log 2>&1 </dev/null &
- while [ ! -f $IOR ]; do
- sleep 1
+ wait
done
- ./client -d -h 10000 -l 10000 -i 25000 -n $c -k file://$IOR > ec_locking_${t}.$c.txt 2>&1
- wait
done
done
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/run_roundtrip.sh b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/run_roundtrip.sh
new file mode 100755
index 00000000000..ca94f25d439
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/run_roundtrip.sh
@@ -0,0 +1,22 @@
+#! /bin/sh
+#
+# $Id$
+#
+
+. parameters
+
+for c in $NCONSUMERS; do
+
+ date
+ echo $t $c $n
+
+ /bin/rm -f $IOR
+# ssh $REMOTE_HOST "cd $REMOTE_LOCATION ; ./server -ORBSvcConf ec.locking_${t}.conf -r -o $IOR" >server.log 2>&1 </dev/null &
+ ./server -ORBSvcConf roundtrip.conf -o $IOR -n 4 >server.log 2>&1 </dev/null &
+ while [ ! -f $IOR ]; do
+ sleep 1
+ done
+ ./client -d -u -h 10000 -l 10000 -i $ITERATIONS -c $c -n 0 -k file://$IOR > ec_roundtrip.$c.txt 2>&1
+
+ wait
+done
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp
index 99f883071fe..98f69950197 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp
+++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp
@@ -6,6 +6,8 @@
#include "RIR_Narrow.h"
#include "RTEC_Initializer.h"
#include "RTServer_Setup.h"
+#include "ORB_Task.h"
+#include "ORB_Task_Activator.h"
#include "orbsvcs/Event/EC_Event_Channel.h"
#include "orbsvcs/Event/EC_Default_Factory.h"
@@ -97,6 +99,12 @@ int main (int argc, char *argv[])
PortableServer::POA_var ec_poa (rtserver_setup.poa ());
+ ORB_Task orb_task (orb);
+ ORB_Task_Activator orb_task_activator (rt_class.priority_high (),
+ rt_class.thr_sched_class (),
+ nthreads,
+ &orb_task);
+
ACE_DEBUG ((LM_DEBUG, "Finished ORB and POA configuration\n"));
Servant_var<TAO_EC_Event_Channel> ec_impl (
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.cpp
index 38deb9a6f17..b6612b83ce8 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.cpp
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.cpp
@@ -50,8 +50,8 @@ Client_Options::Client_Options (int &argc, char *argv[])
else if (option (arg_shifter, "-n", nthreads)) {}
else if (option (arg_shifter, "-h", high_priority_period)) {}
else if (option (arg_shifter, "-l", low_priority_period)) {}
- else if (option (arg_shifter, "-w", high_priority_workload)) {}
- else if (option (arg_shifter, "-v", low_priority_workload)) {}
+ else if (option (arg_shifter, "-w", low_priority_workload)) {}
+ else if (option (arg_shifter, "-v", high_priority_workload)) {}
else if (option (arg_shifter, "-c", low_priority_consumers)) {}
else if (boolean_option (arg_shifter, "-d", dump_history)) {}
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTPOA_Setup.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTPOA_Setup.cpp
index 61ba5d971f3..2e96154abf0 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTPOA_Setup.cpp
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTPOA_Setup.cpp
@@ -59,21 +59,26 @@ RTPOA_Setup::RTPOA_Setup (CORBA::ORB_ptr orb,
rtcorba_setup.process_priority ()
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
- policies[1] =
- rtorb->create_threadpool_policy (pool_id
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- policies[2] =
+ policies[1] =
root_poa->create_id_assignment_policy (PortableServer::SYSTEM_ID
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
- policies[3] =
+ policies[2] =
root_poa->create_implicit_activation_policy (PortableServer::IMPLICIT_ACTIVATION
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
+#if 0
+ policies.length (3);
+#else
+ policies[3] =
+ rtorb->create_threadpool_policy (pool_id
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+#endif /* 0 */
+
PortableServer::POAManager_var poa_manager =
root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK;
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTServer_Setup.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTServer_Setup.cpp
index fbb255d4b2b..f388765f717 100644
--- a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTServer_Setup.cpp
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTServer_Setup.cpp
@@ -31,7 +31,6 @@ RTServer_Setup::RTServer_Setup (int use_rt_corba,
{
ACE_CHECK;
-#if 0
if (use_rt_corba)
{
this->rtpoa_setup_ =
@@ -44,7 +43,6 @@ RTServer_Setup::RTServer_Setup (int use_rt_corba,
this->rtpoa_setup_->poa ();
}
else
-#endif /* 0 */
{
this->poa_ =
RIR_Narrow<RTPortableServer::POA>::resolve (orb,