From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <44DB9958.10109@domain.hid> Date: Thu, 10 Aug 2006 14:38:48 -0600 From: Jim Cromie MIME-Version: 1.0 Subject: Re: [Xenomai-core] expected output and runtime of switchtest ? References: <44DA896F.9060102@domain.hid> <44DB1865.90004@domain.hid> In-Reply-To: <44DB1865.90004@domain.hid> Content-Type: multipart/mixed; boundary="------------030604050909040704080701" List-Id: "Xenomai life and development \(bug reports, patches, discussions\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: xenomai-core This is a multi-part message in MIME format. --------------030604050909040704080701 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Jan Kiszka wrote: > Jim Cromie wrote: > >> soekris:/usr/xenomai/testsuite/switchtest# modprobe xeno_switchtest >> [ 160.221018] Xenomai: starting RTDM services. >> soekris:/usr/xenomai/testsuite/switchtest# >> soekris:/usr/xenomai/testsuite/switchtest# switch -n >> soekris:/usr/xenomai/testsuite/switchtest# switch rtk0 >> cpu 0: 498 >> cpu 0: 998 >> cpu 0: 1498 >> cpu 0: 2000 >> cpu 0: 2496 >> cpu 0: 2998 >> cpu 0: 3498 >> cpu 0: 3998 >> cpu 0: 4500 >> >> ... >> >> This prog has been running for atleast 1/2 hr, >> with minimum args.. >> >> what should it be doing ? >> > > This is a regression test. You should see an error message or a system > crash if something goes wrong. The output above looks ok (number of > passed loops, kind of lifesign). > > OK thanks. FWIW, I noted that xeno-test is not running these: - switchbench - switchtest - irqbench Im not sure they belong in xeno-test though, since they dont appear to produce output that shows good vs bad performance, only an informal 'sanity' check. And technically, dont regression tests have to yield a PASS / FAIL decision ? ;-) Speaking more broadly, there are 3 possible kinds of test-progs - regression tests PASS / FAIL - either by exit(rc), or by printf( "%s\n", rc ? "not-ok" : "ok") see perl's regression test suite ( 100k separate tests ) usually test details, are not tutorial - performance tests progs stress xenomai, print performance data should help see performance problems, expose bugs xeno-test aims to collect performance data performance data must be expressive (switchtest is perhaps insufficient here) - examples / tutorials ex: satch.c simple, clear progs (low feature clutter, etc) Id like to see all demo/**/ progs in single dir forex satch-native, satch-vxworks, etc .. makes for easier browsing simple makefile builds out-of-tree handles kernel-modules and user-progs (Ive seen some clean ones, cant find now. Mine are crufty:-( 'patterns' of usage IWBGreat if we had common usage patterns isolated, named, and described Towards this last item, Ive done 2 things: - poached code from Hannes Mayer :-) http://www.captain.at/xenomai.php task-timers.c does periodic timer 3 ways: sleeper, waiter, alarm. - scrounged old rtai/fusion code (ls -l says Jul 05 ;-) cleaned up, 1/2 compile now maybe theres examples-tutorials-patterns fodder in here. attached tarball has these in 2 top-level dirs. Id like to see if theres a place for them long-term, and clean them up so theyre correct and helpful. > Jan > thanks -jimc --------------030604050909040704080701 Content-Type: application/gzip; name="xeno-examples-tuts.tgz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="xeno-examples-tuts.tgz" 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 --------------030604050909040704080701--