Re: Vulcano Test

Felix Frey <[email protected]>
Newsgroups gmane.linux.real-time.rtai
Message-ID <[email protected]>
Updated CVS and test again.

So far, I get the same results.

When I put your calibration values (1715/2225) in my latencies file then
I get much more reasonable latency values:

RTAI Testsuite - USER latency (all data in nanoseconds)
2016/03/31 15:10:22
RTH| lat min| ovl min| lat avg| lat max| ovl max| overruns
RTD| 1110| 1110| 3643| 7019| 7019| 0
RTD| 2500| 1110| 3671| 5681| 7019| 0
RTD| 1749| 1110| 3664| 6475| 7019| 0
RTD| 1906| 1110| 3657| 6631| 7019| 0


Now I played with the period and time values. The latter one has no
influence, however, the effect of the period value is interesting
and not expected, I think:

Period=20000  ->  KernelLatency 4551, UserLatency 5104
Period=50000  ->  KernelLatency 4443, UserLatency 4760
Period=100000 ->  KernelLatency 4522, UserLatency 5042
Period=200000 ->  KernelLatency 20973, UserLatency 23225
Period=1000000 -> KernelLatency 35829, UserLatency 48231
Period=2000000 -> KernelLatency 87183, UserLatency 110500

Putting the values of the 1st line (4551/5104) into the latencies file
still produces negative latencies:

RTAI Testsuite - USER latency (all data in nanoseconds)
2016/03/31 15:42:22
RTH| lat min| ovl min| lat avg| lat max| ovl max| overruns
RTD| -1468| -1468| 781| 3692| 3692| 0
RTD| -1362| -1468| 769| 2432| 3692| 0
RTD| -1529| -1529| 777| 3602| 3692| 0
RTD| -1398| -1529| 765| 3000| 3692| 0


By the way, when I changed the time value to 5s, the output remains like
this (TIME is wrong):

AFTER USER CALIBRATION (ns): KernelLatency 4568, UserLatency 5060
(CALIBRATION: PERIOD 100000 (ns), TIME 1015577174 (ns)).


attached my rtai_config.h

Felix


Am 31.03.2016 um 15:39 schrieb Paolo Mantegazza:
> That's (calibration) something really strange. Just wondering why on a
> machine like yours I get:
> SYSINFO - # CPUs: 2, TIMER NAME: 'lapic', TIMER IRQ: 2305, TIMER FREQ:
> 8308369,
> CLOCK NAME: 'tsc', CLOCK FREQ: 997204000, CPU FREQ: 997204000, LINUX
> TIMER IRQ:
> 2305.
> RTAI[malloc]: global heap size = 2097152 bytes, <TLSF>.
> , kstacks pool size = 524288 bytes.
> RTAI[sched]: hard timer type/freq = lapic/8308369(Hz); timing: oneshot;
> black/red timed lists.
> RTAI[sched]: Linux timer freq = 1000 (Hz), TimeBase freq = 997204000 hz.
> RTAI[sched]: timer setup = 120 ns, resched latency = 0 ns.
> RTAI[usi]: enabled.
> USERMODE CHECK: OK.
> USERMODE CHECK PROVIDED (ns): KernelLatency -1, UserLatency -1.
> AFTER KERNEL CALIBRATION (WITH RTAI TASK, ns): KernelLatency 1715,
> UserLatency -1 (CALIBRATION: PERIOD 100000 (ns), TIME 1009367042 (ns)).
> USERMODE USER SPACE CALIBRATION: OK.
> AFTER USER CALIBRATION (ns): KernelLatency 1715, UserLatency 2225
> (CALIBRATION:
> vi list    PERIOD 100000 (ns), TIME 1014464466 (ns)).
> FINAL CALIBRATION SUMMARY (ns): KernelLatency 1715, UserLatency 2225.
> 
> with
> 
> RTAI Testsuite - USER latency (all data in nanoseconds)
> 2016/03/31 15:32:32
> RTH|    lat min|    ovl min|    lat avg|    lat max|    ovl max| overruns
> RTD|        121|        121|        609|       6424| 6424|          0
> RTD|        434|        121|        548|       3984| 6424|          0
> ^CRTD|        434|        121|        548|       3984| 6424|          0
> 
>>>> S = 98.696, EXECTIME = 0.0325566
> 
> Since I've consistent results on two other machines, up to 3.3 GHz, I'm
> let asking you to help me in seeing what goes wrong.
> In such a view edits "latencies" file, found in subdir calibrate of your
> installation directory, putting my figures above in it and checking what
> you get with the test.
> Then you can play configuring with the period and calibration duration
> to see if they provide a change, and report the outcomes.
> BTW, send me the rtai_config.h that produced those results.
> 
> Paolo
> 
> On 03/31/2016 03:15 PM, Felix Frey wrote:
>> Just tested vulcano CVS with kernel 4.1.18
>> (on AMD GX-210, x86_64, 2 cores)
>>
>> Running userspace latency test gives:
>>
>> RTAI Testsuite - USER latency (all data in nanoseconds)
>> 2016/03/31 14:02:43
>> RTH| lat min| ovl min| lat avg| lat max| ovl max| overruns
>> RTD| -19935| -19935| -18063| -14615| -14615| 0
>> RTD| -19723| -19935| -18050| -15267| -14615| 0
>> RTD| -19514| -19935| -18060| -15083| -14615| 0
>> RTD| -20177| -20177| -18063| -15137| -14615| 0
>> RTD| -19828| -20177| -18060| -15116| -14615| 0
>>
>> These are the kernel messages:
>>
>> [ 1319.188664] RTAI[hal]: mounted. ISOL_CPUS_MASK: 0, LINUX CPU ISOLATED
>> MAP: ffffffff81e61c20).
>> [ 1319.197214] SYSINFO - # CPUs: 2, TIMER NAME: 'lapic', TIMER IRQ:
>> 4353, TIMER FREQ: 6238209, CLOCK NAME: 'tsc', CLOCK FREQ: 998088000, CP
>> U FREQ: 998088000, LINUX TIMER IRQ: 4353.
>> [ 1319.248508] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
>> [ 1319.254814] , kstacks pool size = 524288 bytes.
>> [ 1319.259457] RTAI[sched]: hard timer type/freq = lapic/6238209(Hz);
>> timing: oneshot; linear timed lists.
>> [ 1319.268913] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq =
>> 998088000 hz.
>> [ 1319.276593] RTAI[sched]: timer setup = 160 ns, resched latency = 0 ns.
>> [ 1319.284973] USERMODE CHECK: OK.
>> [ 1319.288155] USERMODE CHECK PROVIDED (ns): KernelLatency -1,
>> UserLatency -1.
>> [ 1320.331572] AFTER KERNEL CALIBRATION (WITH RTAI TASK, ns):
>> KernelLatency 21009, UserLatency -1 (CALIBRATION: PERIOD 200000 (ns),
>> TIME 10
>> 36380956 (ns)).
>> [ 1321.362282] USERMODE USER SPACE CALIBRATION: OK.
>> [ 1321.366937] AFTER USER CALIBRATION (ns): KernelLatency 21009,
>> UserLatency 23941 (CALIBRATION: PERIOD 200000 (ns), TIME 1021744803
>> (ns)).
>> [ 1321.379211] FINAL CALIBRATION SUMMARY (ns): KernelLatency 21009,
>> UserLatency 23941.
>> [ 1334.500839] RTAI[malloc]: unloaded.
>> [ 1334.600674] RTAI[sched]: unloaded (forced hard/soft/hard transitions:
>> traps 0, syscalls 0).
>> [ 1334.623217] I-pipe: head domain RTAI unregistered.
>> [ 1334.628084] RTAI[hal]: unmounted.
>>
>>
>> The latency values are probably not what they are expected to.
>> In my opinion the calibration delivers much too high values
>> (21009/23941).
>> Any ideas??
>>
>> Felix
>>
>> _______________________________________________
>> Rtai mailing list
>> [email protected]
>> https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai
> 
> _______________________________________________
> Rtai mailing list
> [email protected]
> https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai
>

_______________________________________________
Rtai mailing list
[email protected]
https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai
rtai_config.h (text/x-chdr, 7.8 KB)
/* rtai_config.h.  Generated from rtai_config.h.in by configure.  */
/* rtai_config.h.in.  Generated from configure.in by autoheader.  */

/* Kconfig */
#define CONFIG_KBUILD 1

/* Legacy */
#define CONFIG_RTAI 1

/* Kconfig */
/* #undef CONFIG_RTAI_16550A_ANY */

/* Kconfig */
/* #undef CONFIG_RTAI_16550A_MMIO */

/* Kconfig */
/* #undef CONFIG_RTAI_16550A_PIO */

/* Kconfig */
/* #undef CONFIG_RTAI_ADEOS */

/* Kconfig */
/* #undef CONFIG_RTAI_ALIGN_LINUX_PRIORITY */

/* Kconfig */
#define CONFIG_RTAI_ALLOW_RR 1

/* Kconfig */
#define CONFIG_RTAI_BITS 1

/* Kconfig */
/* #undef CONFIG_RTAI_BITS_BUILTIN */

/* Build system alias */
#define CONFIG_RTAI_BUILD_STRING "x86_64-unknown-linux-gnu"

/* Kconfig */
#define CONFIG_RTAI_CAL_FREQS_FACT 0

/* Kconfig */
#define CONFIG_RTAI_CLOCK_REALTIME 1

/* Compiler */
#define CONFIG_RTAI_COMPILER "gcc version 4.8.3 20140627 [gcc-4_8-branch revision 212064] (SUSE Linux) "

/* Kconfig */
#define CONFIG_RTAI_CPUS 2

/* Kconfig */
/* #undef CONFIG_RTAI_DEBUG_RTDM */

/* Kconfig */
/* #undef CONFIG_RTAI_DIAG_TSC_SYNC */

/* Kconfig */
#define CONFIG_RTAI_DONT_DISPATCH_CORE_IRQS 0

/* Kconfig */
/* #undef CONFIG_RTAI_DRIVERS_16550A */

/* Kconfig */
#define CONFIG_RTAI_DRIVERS_SERIAL 1

/* Kconfig */
#define CONFIG_RTAI_FIFOS 1

/* Kconfig */
/* #undef CONFIG_RTAI_FIFOS_BUILTIN */

/* Kconfig */
#define CONFIG_RTAI_FIFOS_TEMPLATE "/dev/rtf%d"

/* Kconfig */
#define CONFIG_RTAI_FPU_SUPPORT 1

/* Kconfig */
/* #undef CONFIG_RTAI_FULL_PRINHER */

/* Kconfig */
/* #undef CONFIG_RTAI_HAL_PREEMPT */

/* Host system alias */
#define CONFIG_RTAI_HOST_STRING "x86_64-unknown-linux-gnu"

/* Kconfig */
#define CONFIG_RTAI_IMMEDIATE_LINUX_SYSCALL 0

/* Kconfig */
/* #undef CONFIG_RTAI_INTERNAL_LEDS_SUPPORT */

/* Kconfig */
#define CONFIG_RTAI_INTERNAL_LXRT_INLINE 3

/* Kconfig */
#define CONFIG_RTAI_INTERNAL_LXRT_SUPPORT 1

/* Use RTAI Adeos-newgen HAL */
#define CONFIG_RTAI_IPIPE 1

/* Kconfig */
#define CONFIG_RTAI_KERN_BUSY_ALIGN_RET_DELAY 0

/* Kconfig */
#define CONFIG_RTAI_KSTACK_HEAPSZ 512

/* Kconfig */
#define CONFIG_RTAI_LATENCY_SELF_CALIBRATION_PERIOD 200000

/* Kconfig */
#define CONFIG_RTAI_LATENCY_SELF_CALIBRATION_TIME 2

/* Kconfig */
/* #undef CONFIG_RTAI_LEDS */

/* Kconfig */
/* #undef CONFIG_RTAI_LEDS_BUILTIN */

/* Kconfig */
/* #undef CONFIG_RTAI_LONG_TIMED_LIST */


#ifndef CONFIG_RTAI_LXRT_INLINE
#define CONFIG_RTAI_LXRT_INLINE CONFIG_RTAI_INTERNAL_LXRT_INLINE
#endif /* !CONFIG_RTAI_LXRT_INLINE */
#define __hidefun(name) name ## _hidden_inline
#if CONFIG_RTAI_LXRT_INLINE == 1
#define RTAI_PROTO(type,name,arglist) static inline type name arglist
#elif CONFIG_RTAI_LXRT_INLINE == 2
#define RTAI_PROTO(type,name,arglist) extern inline type name arglist
#elif CONFIG_RTAI_LXRT_INLINE == 3
#define RTAI_PROTO(type,name,arglist) type name arglist; static inline type __hidefun(name) arglist
#else
#define RTAI_PROTO(type,name,arglist) type name arglist
#endif /* CONFIG_RTAI_LXRT_INLINE */
#define RTAI_PROTO_ALWAYS_INLINE(type,name,arglist) static inline type name arglist
#define RTAI_PROTO_NEVER_INLINE(type,name,arglist) type name arglist; static inline type __hidefun(name) arglist


/* Kconfig */
/* #undef CONFIG_RTAI_LXRT_USE_LINUX_SYSCALL */

/* Kconfig */
/* #undef CONFIG_RTAI_MAINTAINER */

/* Kconfig */
/* #undef CONFIG_RTAI_MAINTAINER_PGM */

/* Kconfig */
/* #undef CONFIG_RTAI_MAINTAINER_PMA */

/* Kconfig */
#define CONFIG_RTAI_MALLOC 1

/* Kconfig */
#define CONFIG_RTAI_MALLOC_BUILTIN 1

/* Kconfig */
#define CONFIG_RTAI_MALLOC_HEAPSZ 2048

/* Kconfig */
#define CONFIG_RTAI_MALLOC_VMALLOC 1

/* Kconfig */
/* #undef CONFIG_RTAI_MASTER_TSC_CPU */

/* Kconfig */
/* #undef CONFIG_RTAI_MATH */

/* Kconfig */
/* #undef CONFIG_RTAI_MATH_BUILTIN */

/* Kconfig */
/* #undef CONFIG_RTAI_MATH_C99 */

/* Kconfig */
/* #undef CONFIG_RTAI_MATH_KCOMPLEX */

/* Kconfig */
#define CONFIG_RTAI_MATH_LIBM_TO_USE 

/* Kconfig */
#define CONFIG_RTAI_MBX 1

/* Kconfig */
/* #undef CONFIG_RTAI_MBX_BUILTIN */

/* Kconfig */
#define CONFIG_RTAI_MONITOR_EXECTIME 1

/* Legacy */
#define CONFIG_RTAI_MOUNT_ON_LOAD 1

/* Kconfig */
#define CONFIG_RTAI_MQ 1

/* Kconfig */
/* #undef CONFIG_RTAI_MQ_BUILTIN */

/* Kconfig */
#define CONFIG_RTAI_MSG 1

/* Kconfig */
/* #undef CONFIG_RTAI_MSG_BUILTIN */

/* Kconfig */
#define CONFIG_RTAI_NETRPC 1

/* Kconfig */
/* #undef CONFIG_RTAI_NETRPC_BUILTIN */

/* Kconfig */
/* #undef CONFIG_RTAI_NETRPC_RTNET */

/* Kconfig */
#define CONFIG_RTAI_ONE_SHOT 1

/* Kconfig */
#define CONFIG_RTAI_REVISION_LEVEL 0

/* Kconfig */
#define CONFIG_RTAI_RTC_FREQ 0

/* Kconfig */
/* #undef CONFIG_RTAI_RTDM */

/* Kconfig */
#define CONFIG_RTAI_RTDM_FD_MAX 128

/* Kconfig */
/* #undef CONFIG_RTAI_RTDM_SELECT */

/* Kconfig */
/* #undef CONFIG_RTAI_RTDM_SHIRQ */

/* Kconfig */
/* #undef CONFIG_RTAI_RT_POLL */

/* Kconfig */
/* #undef CONFIG_RTAI_RT_POLL_ON_STACK */

/* Kconfig */
#define CONFIG_RTAI_SCHED_8254_LATENCY 

/* Kconfig */
#define CONFIG_RTAI_SCHED_ISR_LOCK 1

/* Kconfig */
#define CONFIG_RTAI_SCHED_LXRT_NUMSLOTS 150

/* Kconfig */
#define CONFIG_RTAI_SEM 1

/* Kconfig */
/* #undef CONFIG_RTAI_SEM_BUILTIN */

/* Kconfig */
#define CONFIG_RTAI_SHM 1

/* Kconfig */
/* #undef CONFIG_RTAI_SHM_BUILTIN */

/* Kconfig */
#define CONFIG_RTAI_TASKLETS 1

/* Kconfig */
/* #undef CONFIG_RTAI_TASKLETS_BUILTIN */

/* Kconfig */
/* #undef CONFIG_RTAI_TASK_SWITCH_SIGNAL */

/* Kconfig */
#define CONFIG_RTAI_TBX 1

/* Kconfig */
/* #undef CONFIG_RTAI_TBX_BUILTIN */

/* Kconfig */
/* #undef CONFIG_RTAI_TRACE */

/* Use TSC in user space */
#define CONFIG_RTAI_TSC 1

/* Kconfig */
/* #undef CONFIG_RTAI_TUNE_TSC_SYNC */

/* Kconfig */
#define CONFIG_RTAI_USER_BUSY_ALIGN_RET_DELAY 0

/* Kconfig */
/* #undef CONFIG_RTAI_USE_COMEDI_LOCK */

/* Kconfig */
/* #undef CONFIG_RTAI_USE_LINUX_COMEDI */

/* Kconfig */
#define CONFIG_RTAI_USE_NEWERR 1

/* Kconfig */
/* #undef CONFIG_RTAI_USE_TLSF */

/* Kconfig */
/* #undef CONFIG_RTAI_USI */

/* Kconfig */
/* #undef CONFIG_RTAI_USI_BUILTIN */

/* Kconfig */
#define CONFIG_RTAI_VERSION_MAJOR 5

/* Kconfig */
#define CONFIG_RTAI_VERSION_MINOR 0

/* Kconfig */
#define CONFIG_RTAI_WD 1

#ifdef __IN_RTAI__

/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1

/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1

/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1

/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1

/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1

/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1

/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1

/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1

/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1

/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1

/* Define to the sub-directory in which libtool stores uninstalled libraries.
   */
#define LT_OBJDIR ".libs/"

/* Name of package */
#define PACKAGE "rtai"

/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "[email protected]"

/* Define to the full name of this package. */
#define PACKAGE_NAME "rtai"

/* Define to the full name and version of this package. */
#define PACKAGE_STRING "rtai 5.0-test1"

/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "rtai"

/* Define to the home page for this package. */
#define PACKAGE_URL ""

/* Define to the version of this package. */
#define PACKAGE_VERSION "5.0-test1"

/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1

/* Version number of package */
#define VERSION "5.0-test1"

/* Define to 1 if the X Window System is missing or not being used. */
/* #undef X_DISPLAY_MISSING */

#endif /* __IN_RTAI__ */
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.