* [Xenomai-core] xeno-test updates [rfc patch]
@ 2006-04-20 18:58 Jim Cromie
2006-04-21 3:53 ` Romain Lenglet
2006-04-23 2:59 ` [Xenomai-core] Re: xeno-test updates [patch] Jim Cromie
0 siblings, 2 replies; 9+ messages in thread
From: Jim Cromie @ 2006-04-20 18:58 UTC (permalink / raw)
To: xenomai-core
[-- Attachment #1: Type: text/plain, Size: 2141 bytes --]
Ive started adding to xeno-test, as outlined previously (plus some)
- now run cyclictest and switch, in addition to latency -t 0,1,2
- changed the prewired -m email-addy to xenotest.output@domain.hid
will change again when something is formalized.
In meantime, feel free to send results, Ill periodically bundle them,
and/or just forward them automatically.
- added `cat /proc/xenomai/* /proc/xenomai/*/*` to boxstatus(),
which is run before and after latency tests.
Note that /proc/ipipe/* is catted in boxinfo(), which is only run before,
since the info doesnt change
- moved cat /proc/meminfo to boxstatus, since it changes (a little bit)
- now grep more config-items out of config (for non-verbose mode)
latency-killers, PREEMPT, others ?
- now fetch .config from /lib/modules/`uname -`/build, unless
/proc/config.gz is there.
- -v flag gets whole config (from either source)
- boxinfo now runs xeno-info, xeno-config
- added From: <xenotest.sender@domain.hid> to outgoing email.
This probably isnt good enough, as mailservers generally check real
sender IP
against the given domain-name, and reject fakes. Forex, LKML rejected
my attempts
to do this there. gmail.com accepted my test msgs, but perhaps cuz they
know me from
my pop access.
- patch also includes a tweak to prepare-kernel (chmod +w in patch_append)
I added it cuz I like to use lndir to clone source trees
(much smaller, and patch does the right thing - copies file, then
modifies local copy.
only issue is that it preserves the readonly of the original (preventing
inadvertent touches),
which breaks the append.) Not sure its universally safe, but it works here.
Dont apply yet, not tested recently.
Qs
- should I run boxstatus just after latency tests or b4 and after (as
currently) ?
- /proc/xenomai/* contents are dynamic (ie run by boxstatus) ?
- any bits of boxinfo and boxstatus that should be shuffled around ?
- mail only works if -N andor -L are used.
probably unnecessary limitation. (im lazy)
- check NPTL availability (kinda overkill, since its absence when needed
is already detected)
- anything else come to mind ?
[-- Attachment #2: patch-xeno-test --]
[-- Type: text/plain, Size: 3721 bytes --]
Index: scripts/prepare-kernel.sh
===================================================================
--- scripts/prepare-kernel.sh (revision 957)
+++ scripts/prepare-kernel.sh (working copy)
@@ -48,6 +48,7 @@
patch_append() {
file="$1"
if test "x$output_patch" = "x"; then
+ chmod +w "$linux_tree/$file"
cat >> "$linux_tree/$file"
else
if test `check_filter $file` = "ok"; then
Index: scripts/xeno-test.in
===================================================================
--- scripts/xeno-test.in (revision 957)
+++ scripts/xeno-test.in (working copy)
@@ -19,6 +19,7 @@
prepending allows you to give a full path.
-m sends output file to xeno-test@domain.hid
-M <email> sends output file to given addy
+ -v verbose
# following options are passed thru to latency, klatency
-s print statistics of sampled data (default on)
@@ -43,7 +44,7 @@
# run task after announcing it
echo; date;
echo running: $*
- $* &
+ eval $* & # eval helps w complex cmds, like zegrep -E
wait $!
}
@@ -77,20 +78,37 @@
unset dd_jobs;
}
-boxinfo() {
- # static info, show once
- loudly cat /proc/cpuinfo | egrep -v 'bug|wp'
- loudly cat /proc/meminfo
- [ -f /proc/config.gz ] && loudly zgrep XENO /proc/config.gz
+boxinfo() { # static info, show once
+ loudly ./xeno-config -v
+ loudly ./xeno-info
+
+ loudly cat /proc/cpuinfo # bogomips changes under CPU_FREQ
+
+ # how much of the config do we want ?
+ local cmd="zgrep -E 'XENO|PREEMPT|CONFIG_ACPI|CONFIG_PM|CPU_FREQ'"
+ [ "$verbose" = 1 ] && cmd=cat
+
+ if [ -f /proc/config.gz ]; then # get the config
+ loudly $cmd /proc/config.gz
+ elif [ -f /lib/modules/`uname -r`/build/.config ]; then
+ loudly $cmd /lib/modules/`uname -r`/build/.config
+ fi
+
[ -d /proc/adeos ] && for f in /proc/adeos/*; do loudly cat $f; done
[ -d /proc/ipipe ] && for f in /proc/ipipe/*; do loudly cat $f; done
}
-boxstatus() {
- # get dynamic status (bogomips, cpuMhz change with CPU_FREQ)
+boxstatus() { # get dynamic status
+
loudly cat /proc/interrupts
loudly cat /proc/loadavg
+ loudly cat /proc/meminfo
+
+ if [ -d /proc/xenomai ]; then
+ for f in /proc/xenomai/*; do [ -f $f ] && loudly cat $f; done
+ for f in /proc/xenomai/*/*; do [ -f $f ] && loudly cat $f; done
+ fi
[ -n "$prepost" ] && loudly $prepost
loudly top -bn1c | head -n $(( 12 + $workload ))
}
@@ -105,12 +123,17 @@
boxstatus
(
cd ../testsuite/latency
-
loudly ./run -- $opts -t0
loudly ./run -- $opts -t1
loudly ./run -- $opts -t2
+ )
+ ( cd ../testsuite/switch
+ loudly ./run -- '# switch'
+ )
+ ( cd ../testsuite/cyclic
+ loudly ./run -- '# cyclictest'
+ )
- )
boxstatus
}
@@ -138,9 +161,12 @@
logprefix=
prepost= # command to run pre, and post test (ex ntpq -p)
-email='xeno-test@domain.hid'
+email='xenotest.output@domain.hid' # until formalized
+sentby='xenotest.sender@domain.hid'
sendit=
+verbose=
+
while getopts 'd:shqT:l:H:B:uLN:w:W:p:mM:' FOO ; do
case $FOO in
@@ -176,6 +202,8 @@
sendit=1 ;;
m)
sendit=1 ;;
+ v)
+ verbose=1 ;;
?)
myusage ;;
esac
@@ -189,9 +217,10 @@
# restart inside a script invocation, passing all
date=`date +%y%m%d.%H%M%S`
script -c "./xeno-test $loadpass $pass $*" "$logprefix$logfile-$date"
- if [ $sendit == 1 ]; then
+ if [ "$sendit" == 1 ]; then
echo "mailing $logprefix$logfile-$date to $email"
- mail -s 'xeno-test results' $email < "$logprefix$logfile-$date"
+ mail -s 'xeno-test results' $email -- \
+ -F $sentby < "$logprefix$logfile-$date"
fi
else
if [ "$altwork" != "" ]; then
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-core] xeno-test updates [rfc patch]
2006-04-20 18:58 [Xenomai-core] xeno-test updates [rfc patch] Jim Cromie
@ 2006-04-21 3:53 ` Romain Lenglet
2006-04-21 4:26 ` Romain Lenglet
2006-04-23 2:59 ` [Xenomai-core] Re: xeno-test updates [patch] Jim Cromie
1 sibling, 1 reply; 9+ messages in thread
From: Romain Lenglet @ 2006-04-21 3:53 UTC (permalink / raw)
To: xenomai
[-- Attachment #1: Type: text/plain, Size: 323 bytes --]
Jim Cromie wrote:
> Ive started adding to xeno-test, as outlined previously (plus
> some)
[...]
> - -v flag gets whole config (from either source)
[...]
> Dont apply yet, not tested recently.
[...]
When this patch is applied, please also apply the attached patch
to the manpage for the new -v option.
--
Romain LENGLET
[-- Attachment #2: xeno-test-verboseoptiondoc_2006-04-21.patch --]
[-- Type: text/x-diff, Size: 2423 bytes --]
--- xenomai/ChangeLog 2006-04-21 12:39:16.309296664 +0900
+++ xenomai-xenotestverboseoption/ChangeLog 2006-04-21 12:48:38.149883912 +0900
@@ -1,3 +1,8 @@
+2006-04-21 Romain Lenglet <rlenglet@domain.hid>
+
+ * doc/man/xeno-test.man.in: Add documentation for the new -v option
+ added to the xeno-test script.
+
2006-04-20 Jan Kiszka <jan.kiszka@domain.hid>
* ksrc/skins/rtdm/device.[ch], ksrc/skins/rtdm/module.c: Catch
--- xenomai/doc/man/xeno-test.man.in 2006-04-19 18:06:11.448935160 +0900
+++ xenomai-xenotestverboseoption/doc/man/xeno-test.man.in 2006-04-21 12:47:25.918864696 +0900
@@ -9,11 +9,11 @@
.\" Xenomai distribution.
.\"
.pc
-.TH XENO-TEST 1 "2006-04-19" "@PACKAGE_VERSION@" "Xenomai"
+.TH XENO-TEST 1 "2006-04-21" "@PACKAGE_VERSION@" "Xenomai"
.SH NAME
xeno\-test \- Tests and measures the performance of a Xenomai installation
.SH SYNOPSIS
-\fBxeno\-test\fP [\fB\-w\fP \fIworkloads\fP] [\fB\-d\fP \fIdevice\fP] [\fB\-W\fP \fIcommand\fP] [\fB\-p\fP \fIcommand\fP] [\fB\-L\fP [\fB\-N\fP \fIprefix\fP]] [\fB\-m\fP | \fB\-M\fP \fIemail\fP] [\fB\-s\fP] [\fB\-l\fP \fIsamples\fP] [\fB\-h\fP [\fB\-H\fP \fIcategories\fP] [\fB\-B\fP \fIgranularity\fP]] [\fB\-T\fP \fIseconds\fP [\fB\-q\fP]] [\fB\-\-\fP] [\fIargs\fP] ...
+\fBxeno\-test\fP [\vB\-v\fP] [\fB\-w\fP \fIworkloads\fP] [\fB\-d\fP \fIdevice\fP] [\fB\-W\fP \fIcommand\fP] [\fB\-p\fP \fIcommand\fP] [\fB\-L\fP [\fB\-N\fP \fIprefix\fP]] [\fB\-m\fP | \fB\-M\fP \fIemail\fP] [\fB\-s\fP] [\fB\-l\fP \fIsamples\fP] [\fB\-h\fP [\fB\-H\fP \fIcategories\fP] [\fB\-B\fP \fIgranularity\fP]] [\fB\-T\fP \fIseconds\fP [\fB\-q\fP]] [\fB\-\-\fP] [\fIargs\fP] ...
.SH DESCRIPTION
\fBxeno\-test\fP measures the performance of Xenomai, by executing Xenomai's \fBlatency\fP and \fBklatency\fP tests while generating a high workload on the system.
The default command that is executed to simulate workload (if no alternate command is specified with a \fB-W\fP \fIcommand\fP option) is:
@@ -34,6 +34,9 @@
.SH OPTIONS
These following options are specific to \fBxeno\-test\fP:
.TP
+\fB\-v\fP
+Outputs more verbose tests results on the standard output.
+.TP
\fB\-w\fP \fIworkloads\fP
The number of workload commands to execute simultaneously. By default, this number is \fB1\fP.
.TP
@@ -119,6 +122,9 @@
.BR uname (1)
.SH HISTORY
.TP
+2006-04-21
+Updated to document the new -v option.
+.TP
2006-04-19
Updated to document the new -m and -M options.
.TP
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-core] xeno-test updates [rfc patch]
2006-04-21 3:53 ` Romain Lenglet
@ 2006-04-21 4:26 ` Romain Lenglet
2006-04-24 20:44 ` Philippe Gerum
0 siblings, 1 reply; 9+ messages in thread
From: Romain Lenglet @ 2006-04-21 4:26 UTC (permalink / raw)
To: xenomai
[-- Attachment #1: Type: text/plain, Size: 519 bytes --]
Le Vendredi 21 Avril 2006 12:53, Romain Lenglet a écrit :
> Jim Cromie wrote:
> > Ive started adding to xeno-test, as outlined previously
> > (plus some)
>
> [...]
>
> > - -v flag gets whole config (from either source)
>
> [...]
>
> > Dont apply yet, not tested recently.
>
> [...]
>
> When this patch is applied, please also apply the attached
> patch to the manpage for the new -v option.
Oops. Sorry, I made a typo in the synopsis line.
Please apply this patch instead.
--
Romain LENGLET
[-- Attachment #2: xeno-test-verboseoptiondoc_2006-04-21.patch --]
[-- Type: text/x-diff, Size: 2369 bytes --]
--- xenomai/ChangeLog 2006-04-21 12:39:16.309296664 +0900
+++ xenomai-take2/ChangeLog 2006-04-21 13:20:44.888975048 +0900
@@ -1,3 +1,8 @@
+2006-04-21 Romain Lenglet <rlenglet@domain.hid>
+
+ * doc/man/xeno-test.man.in: Add documentation for the new -v option
+ added to the xeno-test script.
+
2006-04-20 Jan Kiszka <jan.kiszka@domain.hid>
* ksrc/skins/rtdm/device.[ch], ksrc/skins/rtdm/module.c: Catch
--- xenomai/doc/man/xeno-test.man.in 2006-04-19 18:06:11.448935160 +0900
+++ xenomai-take2/doc/man/xeno-test.man.in 2006-04-21 13:22:04.486874328 +0900
@@ -9,11 +9,11 @@
.\" Xenomai distribution.
.\"
.pc
-.TH XENO-TEST 1 "2006-04-19" "@PACKAGE_VERSION@" "Xenomai"
+.TH XENO-TEST 1 "2006-04-21" "@PACKAGE_VERSION@" "Xenomai"
.SH NAME
xeno\-test \- Tests and measures the performance of a Xenomai installation
.SH SYNOPSIS
-\fBxeno\-test\fP [\fB\-w\fP \fIworkloads\fP] [\fB\-d\fP \fIdevice\fP] [\fB\-W\fP \fIcommand\fP] [\fB\-p\fP \fIcommand\fP] [\fB\-L\fP [\fB\-N\fP \fIprefix\fP]] [\fB\-m\fP | \fB\-M\fP \fIemail\fP] [\fB\-s\fP] [\fB\-l\fP \fIsamples\fP] [\fB\-h\fP [\fB\-H\fP \fIcategories\fP] [\fB\-B\fP \fIgranularity\fP]] [\fB\-T\fP \fIseconds\fP [\fB\-q\fP]] [\fB\-\-\fP] [\fIargs\fP] ...
+\fBxeno\-test\fP [\fB\-v\fP] [\fB\-w\fP \fIworkloads\fP] [\fB\-d\fP \fIdevice\fP] [\fB\-W\fP \fIcommand\fP] [\fB\-p\fP \fIcommand\fP] [\fB\-L\fP [\fB\-N\fP \fIprefix\fP]] [\fB\-m\fP | \fB\-M\fP \fIemail\fP] [\fB\-s\fP] [\fB\-l\fP \fIsamples\fP] [\fB\-h\fP [\fB\-H\fP \fIcategories\fP] [\fB\-B\fP \fIgranularity\fP]] [\fB\-T\fP \fIseconds\fP [\fB\-q\fP]] [\fB\-\-\fP] [\fIargs\fP] ...
.SH DESCRIPTION
\fBxeno\-test\fP measures the performance of Xenomai, by executing Xenomai's \fBlatency\fP and \fBklatency\fP tests while generating a high workload on the system.
The default command that is executed to simulate workload (if no alternate command is specified with a \fB-W\fP \fIcommand\fP option) is:
@@ -34,6 +34,9 @@
.SH OPTIONS
These following options are specific to \fBxeno\-test\fP:
.TP
+\fB\-v\fP
+Produces more verbose tests results.
+.TP
\fB\-w\fP \fIworkloads\fP
The number of workload commands to execute simultaneously. By default, this number is \fB1\fP.
.TP
@@ -119,6 +122,9 @@
.BR uname (1)
.SH HISTORY
.TP
+2006-04-21
+Updated to document the new -v option.
+.TP
2006-04-19
Updated to document the new -m and -M options.
.TP
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Xenomai-core] Re: xeno-test updates [patch]
2006-04-20 18:58 [Xenomai-core] xeno-test updates [rfc patch] Jim Cromie
2006-04-21 3:53 ` Romain Lenglet
@ 2006-04-23 2:59 ` Jim Cromie
2006-04-24 20:43 ` Philippe Gerum
1 sibling, 1 reply; 9+ messages in thread
From: Jim Cromie @ 2006-04-23 2:59 UTC (permalink / raw)
Cc: xenomai-core
[-- Attachment #1: Type: text/plain, Size: 2643 bytes --]
Jim Cromie wrote:
>
>
> Ive started adding to xeno-test, as outlined previously (plus some)
>
<snipped>, except where noted
> - now run cyclictest and switch, in addition to latency -t 0,1,2
>
cycletest now has decent options passed in.
I havent given any thought to exposing options thru xeno-test's command
line.
Instead, Im thinking of adding statistics, ala latency.
for that, Im also pondering a new -g 100 option to group the tests for
stats-calcs,
ie given: -g 100 -l 1000 -v
it would compute statistics on 10 sets of 100 cycles, and report 10 lines.
Again, this is notional, comments/feedback needed.
> - changed the prewired -m email-addy to xenotest.output@domain.hid
email options now work w/o actually writing a file.
Also changed default location of file writes to /tmp,
they no longer get written to $PWD by default
added a -U <url>, completely untested, but mostly lifted from LiveCD
This looks necessary, since
my hobby-box doesnt have a working mail setup
my laptop (and presumably yours) doesnt have a FQDN,
which pretty well precludes sending mail to anywhere useful.
(Id bet we could span the unwashed winbloze masses, but wheres
the sport in that ? ;-)
>
> - now grep more config-items out of config (for non-verbose mode)
> latency-killers, PREEMPT, others ?
>
added items per RPMs email.
Im considering stripping the warning issued when CPU_FREQ ia xonfig'd
warning: CONFIG_CPU_FREQ=y may be problematic.
I have it in cuz nothing actually changes (can change) it, so its
harmless. (I think)
Its easier than making the list complete,
and the .config dump covers the reporting.
>
>
> Dont apply yet, not tested recently.
>
Its reasonbly tested; we can shake out some more with some distributed
testing
(hint - try it !)
Heres some tests I ran, files got written..
./xeno-test -T 30 -l30 -m
./xeno-test -T 30 -l30
./xeno-test -T 30 -l30 -L
./xeno-test -T 30 -l30 -N foo
./xeno-test -T 30 -l30 -LN bar
./xeno-test -T 30 -l30 -LN buzz -m
./xeno-test -T 5 -l30 -L -m
./xeno-test -T 5 -l30 -N /tmp/box- -m
./xeno-test -T 5 -l30 -N ~/trucklab/ -w2 -W 'dd if=/dev/hda1 of=/dev/null'
> Qs
>
> - should I run boxstatus just after latency tests or b4 and after (as
> currently) ?
>
> - /proc/xenomai/* contents are dynamic (ie run by boxstatus) ?
>
> - any bits of boxinfo and boxstatus that should be shuffled around ?
>
> - check NPTL availability (kinda overkill, since its absence when
> needed is already detected)
>
>
> - anything else come to mind ?
these are still open, but not crtical.
I hope thats everything for now,
it needs a good shakedown, and I need a beer.
[-- Attachment #2: patch-xeno-test --]
[-- Type: text/plain, Size: 6814 bytes --]
Index: scripts/prepare-kernel.sh
===================================================================
--- scripts/prepare-kernel.sh (revision 974)
+++ scripts/prepare-kernel.sh (working copy)
@@ -48,6 +48,7 @@
patch_append() {
file="$1"
if test "x$output_patch" = "x"; then
+ chmod +w "$linux_tree/$file"
cat >> "$linux_tree/$file"
else
if test `check_filter $file` = "ok"; then
Index: scripts/xeno-test.in
===================================================================
--- scripts/xeno-test.in (revision 974)
+++ scripts/xeno-test.in (working copy)
@@ -12,15 +12,18 @@
-W <script> script is an alternate workload. If you need to pass args
to your program, use quotes. The program must clean
up its children when it gets a SIGTERM
- -p <cmd> cmd is run before, between and after latency, klatency tests
+ -p <cmd> cmd is run before and after rt-tests
(forex: 'ntpdate -b <host>' or 'ntpq -p')
- -L writes to logfile (default "test-`uname -r`") (via script)
- -N <name> same as -L, but prepend "$name-" (without -L, logname="$name-")
- prepending allows you to give a full path.
- -m sends output file to xeno-test@domain.hid
- -M <email> sends output file to given addy
-
- # following options are passed thru to latency, klatency
+ -L writes logs to /tmp/test-`uname -r`-<timestamp>
+ -N <name> like -L, but writes to name-<timestamp> (in PWD)
+ name can be full or relative pathname
+ -v verbose
+ -M <email> sends output to given addr
+ -m sends output to xenotest.output@domain.hid
+ -U <url> uploads output to given UEL
+ -u uploads output to (TBD)
+
+ # following options are passed thru to latency
-s print statistics of sampled data (default on)
-h print histogram of sampled data (default on)
-q quiet, dont print 1 sec sampled data (default on, off if !-T)
@@ -29,7 +32,7 @@
-H <bucketcount>
-B <bucketsize ns>
EOF
- # NB: many defaults are coded in latency, klatency
+ # NB: many defaults are coded in latency
exit 1
}
@@ -43,7 +46,7 @@
# run task after announcing it
echo; date;
echo running: $*
- $* &
+ eval $* & # eval helps w complex cmds, like zegrep -E
wait $!
}
@@ -77,20 +80,40 @@
unset dd_jobs;
}
-boxinfo() {
- # static info, show once
- loudly cat /proc/cpuinfo | egrep -v 'bug|wp'
- loudly cat /proc/meminfo
- [ -f /proc/config.gz ] && loudly zgrep XENO /proc/config.gz
+whatconf="XENO|IPIPE|PREEMPT|CONFIG_ACPI|CONFIG_PM|CPU_FREQ|CONFIG_DEBUG_SPINLOCK|CONFIG_FRAME_POINTER"
+
+boxinfo() { # static info, show once
+
+ loudly ./xeno-config --verbose
+ loudly ./xeno-info
+
+ loudly cat /proc/cpuinfo # bogomips changes under CPU_FREQ
+
+ # how much of the config do we want ?
+ local cmd="zgrep -E '$whatconf'"
+ [ "$verbose" = 1 ] && cmd=cat
+
+ if [ -f /proc/config.gz ]; then # get the config
+ loudly $cmd /proc/config.gz
+ elif [ -f /lib/modules/`uname -r`/build/.config ]; then
+ loudly $cmd /lib/modules/`uname -r`/build/.config
+ fi
+
[ -d /proc/adeos ] && for f in /proc/adeos/*; do loudly cat $f; done
[ -d /proc/ipipe ] && for f in /proc/ipipe/*; do loudly cat $f; done
}
-boxstatus() {
- # get dynamic status (bogomips, cpuMhz change with CPU_FREQ)
+boxstatus() { # get dynamic status
+
loudly cat /proc/interrupts
loudly cat /proc/loadavg
+ loudly cat /proc/meminfo
+
+ if [ -d /proc/xenomai ]; then
+ for f in /proc/xenomai/*; do [ -f $f ] && loudly cat $f; done
+ for f in /proc/xenomai/*/*; do [ -f $f ] && loudly cat $f; done
+ fi
[ -n "$prepost" ] && loudly $prepost
loudly top -bn1c | head -n $(( 12 + $workload ))
}
@@ -105,16 +128,23 @@
boxstatus
(
cd ../testsuite/latency
-
loudly ./run -- $opts -t0
loudly ./run -- $opts -t1
loudly ./run -- $opts -t2
+ )
+ ( cd ../testsuite/switch
+ loudly ./run -- '# switch'
+ )
+ ( cd ../testsuite/cyclic
+ loudly ./run -- -p 10 -n -l 1000 '# cyclictest'
+ )
- )
boxstatus
}
+#####################
+# MAIN
if [ -f /proc/config.gz ] ; then
@@ -133,16 +163,37 @@
pass= # pass thru to latency
loadpass= # pass thru to subshell, not to actual tests
-# if both empty means no logging
-logfile= #
-logprefix=
+logging= # no logging by default
+logfile= # defaults to test-`uname -r`-<datestampe>
+logprefix=/tmp/ # someplace usually there
prepost= # command to run pre, and post test (ex ntpq -p)
-email='xeno-test@domain.hid'
-sendit=
+email='xenotest.output@domain.hid' # until formalized
+sentby='xenotest.sender@domain.hid'
+url=
+sendit= # send it by m-mail, u-url
+verbose=
-while getopts 'd:shqT:l:H:B:uLN:w:W:p:mM:' FOO ; do
+sendit() {
+ local file=$1
+
+ if [ "$sendit" == 'm' ]; then
+ echo "mailing $file to $email"
+ if [ "$file" != '' ]; then
+ mail -s 'xeno-test results' $email -- -F $sentby < $file
+ else
+ cat - | mail -s 'xeno-test results' $email -- -F $sentby
+ fi
+ elif [ "$sendit" == 'u' ]; then
+ which curl && curl -T $file $url
+ # -x $proxy >/tmp/.submit_result
+ # which wget && curl -T $file $url \
+ fi
+}
+
+while getopts 'd:shqT:l:H:B:uLN:w:W:p:mM:U:' FOO ; do
+
case $FOO in
s|h|q)
pass="$pass -$FOO" ;;
@@ -159,8 +210,10 @@
loadpass="$loadpass -d $device"
;;
L)
+ logging=1
logfile=test-`uname -r` ;;
N)
+ logging=1
logprefix=$OPTARG ;;
w)
workload=$OPTARG
@@ -173,9 +226,19 @@
loadpass="$loadpass -p '$OPTARG'" ;;
M)
email=$OPTARG
- sendit=1 ;;
+ sendit='m' ;;
m)
- sendit=1 ;;
+ sendit='m' ;;
+ U)
+ url=$OPTARG
+ sendit='u' ;;
+ v)
+ verbose=1 ;;
+ n)
+ # accept note (from the outer process)
+ notes=$OPTARG ;;
+
+
?)
myusage ;;
esac
@@ -185,24 +248,25 @@
shift $(($OPTIND - 1));
-if [ "$logprefix$logfile" != "" ]; then
- # restart inside a script invocation, passing all
- date=`date +%y%m%d.%H%M%S`
- script -c "./xeno-test $loadpass $pass $*" "$logprefix$logfile-$date"
- if [ $sendit == 1 ]; then
- echo "mailing $logprefix$logfile-$date to $email"
- mail -s 'xeno-test results' $email < "$logprefix$logfile-$date"
- fi
+if [ "$logging" != "" ]; then
+ # restart inside a script invocation, passing appropriate args
+ wfile=$logprefix$logfile-`date +%y%m%d.%H%M%S`
+ script -c "./xeno-test $loadpass $pass $*" $wfile && sendit $wfile
else
if [ "$altwork" != "" ]; then
mkload() { exec $altwork; }
fi
- echo running $0 $pass $*
- run_w_load $pass $*
+ echo starting $0 $pass $loadpass $*
+ if [ "$sendit" != '' ]; then
+ run_w_load $pass $* | sendit
+ else
+ run_w_load $pass $*
+ fi
fi
exit;
+
#################################################
DONE:
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-core] Re: xeno-test updates [patch]
2006-04-23 2:59 ` [Xenomai-core] Re: xeno-test updates [patch] Jim Cromie
@ 2006-04-24 20:43 ` Philippe Gerum
2006-04-24 21:18 ` Jim Cromie
0 siblings, 1 reply; 9+ messages in thread
From: Philippe Gerum @ 2006-04-24 20:43 UTC (permalink / raw)
To: Jim Cromie; +Cc: xenomai-core
Jim Cromie wrote:
> Jim Cromie wrote:
>
>>
>>
>> Ive started adding to xeno-test, as outlined previously (plus some)
>>
> <snipped>, except where noted
>
>> - now run cyclictest and switch, in addition to latency -t 0,1,2
>>
> cycletest now has decent options passed in.
> I havent given any thought to exposing options thru xeno-test's command
> line.
>
> Instead, Im thinking of adding statistics, ala latency.
> for that, Im also pondering a new -g 100 option to group the tests for
> stats-calcs,
> ie given: -g 100 -l 1000 -v
> it would compute statistics on 10 sets of 100 cycles, and report 10 lines.
> Again, this is notional, comments/feedback needed.
>
This would be mainly useful for running different test scenarii - i.e.
one per cycle? - I guess. But then, would not we have problems
interpreting the results, since different testcases might lead to
unrelated data sets? IOW, how would we use such data sets?
>> - changed the prewired -m email-addy to xenotest.output@domain.hid
>
> email options now work w/o actually writing a file.
> Also changed default location of file writes to /tmp,
> they no longer get written to $PWD by default
>
Nice for embedded setups.
> added a -U <url>, completely untested, but mostly lifted from LiveCD
> This looks necessary, since
> my hobby-box doesnt have a working mail setup
> my laptop (and presumably yours) doesnt have a FQDN,
> which pretty well precludes sending mail to anywhere useful.
> (Id bet we could span the unwashed winbloze masses, but wheres
> the sport in that ? ;-)
>
>
>
>>
>> - now grep more config-items out of config (for non-verbose mode)
>> latency-killers, PREEMPT, others ?
>>
> added items per RPMs email.
>
> Im considering stripping the warning issued when CPU_FREQ ia xonfig'd
> warning: CONFIG_CPU_FREQ=y may be problematic.
> I have it in cuz nothing actually changes (can change) it, so its
> harmless. (I think)
> Its easier than making the list complete,
> and the .config dump covers the reporting.
>
Sounds reasonable; in any case, .config would be analyzed in case of
problem.
>>
>>
>> Dont apply yet, not tested recently.
>>
>
> Its reasonbly tested; we can shake out some more with some distributed
> testing
> (hint - try it !)
>
Merged, now. Thanks.
> Heres some tests I ran, files got written..
>
> ./xeno-test -T 30 -l30 -m
> ./xeno-test -T 30 -l30
> ./xeno-test -T 30 -l30 -L
> ./xeno-test -T 30 -l30 -N foo
> ./xeno-test -T 30 -l30 -LN bar
> ./xeno-test -T 30 -l30 -LN buzz -m
> ./xeno-test -T 5 -l30 -L -m
> ./xeno-test -T 5 -l30 -N /tmp/box- -m
> ./xeno-test -T 5 -l30 -N ~/trucklab/ -w2 -W 'dd if=/dev/hda1 of=/dev/null'
>
>
>> Qs
>>
>> - should I run boxstatus just after latency tests or b4 and after (as
>> currently) ?
>>
>> - /proc/xenomai/* contents are dynamic (ie run by boxstatus) ?
>>
>> - any bits of boxinfo and boxstatus that should be shuffled around ?
>>
>> - check NPTL availability (kinda overkill, since its absence when
>> needed is already detected)
>>
>>
>> - anything else come to mind ?
>
>
>
> these are still open, but not crtical.
>
I think we will discover new stuff to add incrementally, after getting
some practical experience on the automated data collection issue.
>
> I hope thats everything for now,
> it needs a good shakedown, and I need a beer.
>
Eh, I hope you had it by now, otherwise, you must be so damn thirsty... :o>
--
Philippe.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-core] xeno-test updates [rfc patch]
2006-04-21 4:26 ` Romain Lenglet
@ 2006-04-24 20:44 ` Philippe Gerum
0 siblings, 0 replies; 9+ messages in thread
From: Philippe Gerum @ 2006-04-24 20:44 UTC (permalink / raw)
To: Romain Lenglet; +Cc: xenomai
Romain Lenglet wrote:
> Le Vendredi 21 Avril 2006 12:53, Romain Lenglet a écrit :
>
>>Jim Cromie wrote:
>>
>>>Ive started adding to xeno-test, as outlined previously
>>>(plus some)
>>
>>[...]
>>
>>
>>>- -v flag gets whole config (from either source)
>>
>>[...]
>>
>>
>>>Dont apply yet, not tested recently.
>>
>>[...]
>>
>>When this patch is applied, please also apply the attached
>>patch to the manpage for the new -v option.
>
>
> Oops. Sorry, I made a typo in the synopsis line.
> Please apply this patch instead.
>
>
Applied, thanks.
--
Philippe.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-core] Re: xeno-test updates [patch]
2006-04-24 20:43 ` Philippe Gerum
@ 2006-04-24 21:18 ` Jim Cromie
2006-04-24 21:44 ` Jan Kiszka
0 siblings, 1 reply; 9+ messages in thread
From: Jim Cromie @ 2006-04-24 21:18 UTC (permalink / raw)
To: Philippe Gerum; +Cc: xenomai-core
Philippe Gerum wrote:
> Jim Cromie wrote:
>>
>> cycletest now has decent options passed in.
>> I havent given any thought to exposing options thru xeno-test's
>> command line.
>>
>> Instead, Im thinking of adding statistics, ala latency.
>> for that, Im also pondering a new -g 100 option to group the tests
>> for stats-calcs,
>> ie given: -g 100 -l 1000 -v
>> it would compute statistics on 10 sets of 100 cycles, and report 10
>> lines.
>> Again, this is notional, comments/feedback needed.
>>
>
> This would be mainly useful for running different test scenarii - i.e.
> one per cycle? - I guess. But then, would not we have problems
> interpreting the results, since different testcases might lead to
> unrelated data sets? IOW, how would we use such data sets?
>
Several observations led me to this idea.
- in normal mode, the prog rewrites the same display line over and over
it plays-back oddly when you more/cat the file.
- with -v, it prints successive lines, but less info per line (no avg)
which makes sense, since the avg is at the bottom.
- 1000 lines of output is a boat-load, each is individually
uninteresting / almost same as others.
with latency, each line/second of the output contains the average of
*many* samples
10,000 samples of 100uS measures IIRC, and the inner min,max,avg tell us
about the high-frequency jitter,etc in the processes.
Then the multiple samples tell us something about the low-freq jitter.
IOW, we get a glimpse into the ergodicity of the noise
(I say that, pretending I _understand_ ergodicity)
Whether it applies / makes sense here, Im not at all sure.
>> I hope thats everything for now,
>> it needs a good shakedown, and I need a beer.
>>
>
> Eh, I hope you had it by now, otherwise, you must be so damn
> thirsty... :o>
>
:-) Ya gotta try this - simple, but highly addictive. A sport we can
*all* play.
http://www.wagenschenke.ch/site/homerun.htm
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-core] Re: xeno-test updates [patch]
2006-04-24 21:18 ` Jim Cromie
@ 2006-04-24 21:44 ` Jan Kiszka
2006-04-24 22:27 ` Jim Cromie
0 siblings, 1 reply; 9+ messages in thread
From: Jan Kiszka @ 2006-04-24 21:44 UTC (permalink / raw)
To: Jim Cromie; +Cc: xenomai-core
[-- Attachment #1: Type: text/plain, Size: 588 bytes --]
Jim Cromie wrote:
> Philippe Gerum wrote:
>> Jim Cromie wrote:
>>> I hope thats everything for now,
>>> it needs a good shakedown, and I need a beer.
>>>
>>
>> Eh, I hope you had it by now, otherwise, you must be so damn
>> thirsty... :o>
>>
> :-) Ya gotta try this - simple, but highly addictive. A sport we can
> *all* play.
>
> http://www.wagenschenke.ch/site/homerun.htm
>
Great thread, absolutely brilliant link! Just forwarded to our stag
night crew for preparing the next weekend appropriately (we are going to
rock Hamburg with the "victim"). :o)
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-core] Re: xeno-test updates [patch]
2006-04-24 21:44 ` Jan Kiszka
@ 2006-04-24 22:27 ` Jim Cromie
0 siblings, 0 replies; 9+ messages in thread
From: Jim Cromie @ 2006-04-24 22:27 UTC (permalink / raw)
To: Jan Kiszka; +Cc: xenomai-core
Jan Kiszka wrote:
> Jim Cromie wrote:
>
>> Philippe Gerum wrote:
>>
>>> Jim Cromie wrote:
>>>
>>>> I hope thats everything for now,
>>>> it needs a good shakedown, and I need a beer.
>>>>
>>>>
>>> Eh, I hope you had it by now, otherwise, you must be so damn
>>> thirsty... :o>
>>>
>>>
>> :-) Ya gotta try this - simple, but highly addictive. A sport we can
>> *all* play.
>>
>> http://www.wagenschenke.ch/site/homerun.htm
>>
>>
>
> Great thread, absolutely brilliant link! Just forwarded to our stag
> night crew for preparing the next weekend appropriately (we are going to
> rock Hamburg with the "victim"). :o)
>
> Jan
>
>
I wanna party with you guys !
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2006-04-24 22:27 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-20 18:58 [Xenomai-core] xeno-test updates [rfc patch] Jim Cromie
2006-04-21 3:53 ` Romain Lenglet
2006-04-21 4:26 ` Romain Lenglet
2006-04-24 20:44 ` Philippe Gerum
2006-04-23 2:59 ` [Xenomai-core] Re: xeno-test updates [patch] Jim Cromie
2006-04-24 20:43 ` Philippe Gerum
2006-04-24 21:18 ` Jim Cromie
2006-04-24 21:44 ` Jan Kiszka
2006-04-24 22:27 ` Jim Cromie
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.