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__ */