[ag-automation] Latest Stable OSADL-Kernel not SMP-safe ?

Claus Gindhart claus.gindhart at kontron.com
Mon Oct 13 15:50:52 CEST 2008


Hi all,

On a Kontron ThinkIO-Duo (CPU Core2Duo, Chipset i945GM) the program cyclictest 
sporidally hang's up, if it's started with the "-c 0" or "-c 1" option. It 
does not hang up, if started with "-n".

For example:
# cyclictest -t 5 -p 99 -c 0
After some seconds, or if i apply some CPU load (i press ENTER on the keyboard 
multiple times) it will hang up

I spent a lot of time in investigating, which system configurations are 
responsible for this effect.

1. gcc toolchain, glibc runtime lib

The problem occurs with different versions of the glibc (glibc 2.5, glibc 
2.6.1), if configured for NPTL. 
It seems not to occur on with the old TLS:
The most recent OSADL-Live-CD is implemented on the TLS lib. Here, cyclictest 
does not hang up, but shows very bad latency values with "-c 0" parameter.

2. Kernel version

I tested with2.6.24.7-rt17, 2.6.24.7-rt21, 2.6.26.6-rt10
All of these kernel show the same hang up

3. SMP / NOSMP

The hang up does NOT occur, if i do the following

# cyclictest -t 1 -p 99 -c 0 >/dev/null &
# cyclictest -t 1 -p 99 -c 0 >/dev/null &
# cyclictest -t 1 -p 99 -c 0 >/dev/null &
# cyclictest -t 1 -p 99 -c 0 >/dev/null &
# cyclictest -t 1 -p 99 -c 0 >/dev/null &
# cyclictest -t 1 -p 99 -c 0 >/dev/null &

The difference to above is, that i do not have multiple threads in one 
process; i have multiple processes here.

Also: There is no hang up, if i put a "nosmp" to the kernel command line

Obviously, the problem only occurs, if i am using the NPTL-Libs, have the 
PREEMPT_RT patches applied, and i am running a dual core system.

Did anyone encounter a similiar situation ?

Can anyone tell me a system setup (gcc/glibc/Kernel-combination) which 
provides NPTL and RT-PREEMPT and works stable on a dual core CPU ?

Best regards,
Claus Gindhart







...



...





More information about the ag-automation mailing list