Hi, I'm currently doing some tests on an Intel ATOM D2700 and try to run Xenomai threads on different cores. Currently using kernel 3.4.6, x86-32 SMP, and Xenomai 2.6.1 SMP.
It seems the kernel detects the ATOM's TSC as unusable in SMP configuration and switches to the jiffies clock. This because there is an offset between both TSC counters of both cores. It seems even though the CPU has constant_tsc and nonstop_tsc, there is no guarantee for the counters to have the same value. I guess just the offset stays the same. My question is what are the implications for Xenomai not being able to have a TSC in SMP configuration, as Xenomai heavily relies on the TSC? Are there any known workarounds for synchronizing the TSC's so TSC can be used on these older Intel architectures? If not, what would be the best kernel/Xenomai configuration/workarounds to get a stable system able to run Xenomai threads on different cores? Thanks, Henri root@target:~# dmesg -s 64000 | grep -i tsc [ 0.001000] Fast TSC calibration using PIT [ 0.285498] TSC synchronization [CPU#0 -> CPU#1]: [ 0.285762] Measured 14592832 cycles TSC warp between CPUs, turning off TSC clock. [ 0.002999] Marking TSC unstable due to check_tsc_sync_source failed root@target:~# cat /sys/devices/system/clocksource/clocksource0/available_clocksource jiffies tsc root@target:~# cat /sys/devices/system/clocksource/clocksource0/current_clocksource jiffies processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 54 model name : Intel(R) Atom(TM) CPU D2700 @ 2.13GHz stepping : 1 microcode : 0x109 cpu MHz : 2133.378 cache size : 512 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe constant_tsc arch_perfmon pebs bts nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 xtpr pdcm movbe lahf_lm arat dts bogomips : 4266.75 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 32 bits virtual power management: _______________________________________________ Xenomai mailing list [email protected] http://www.xenomai.org/mailman/listinfo/xenomai
