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 [EMAIL PROTECTED]
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: <[EMAIL PROTECTED]> 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 ?
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 [EMAIL PROTECTED]
-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='[EMAIL PROTECTED]'
+email='[EMAIL PROTECTED]' # until formalized
+sentby='[EMAIL PROTECTED]'
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
_______________________________________________
Xenomai-core mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-core