All of lore.kernel.org
 help / color / mirror / Atom feed
From: "M. Koehrer" <mathias_koehrer@domain.hid>
To: jan.kiszka@domain.hid, mathias_koehrer@domain.hid
Cc: xenomai@xenomai.org
Subject: [Xenomai-help] Re: Re: What happens if task entry function returns?
Date: Fri, 17 Nov 2006 15:17:28 +0100 (CET)	[thread overview]
Message-ID: <16178634.1163773048304.JavaMail.ngmail@domain.hid> (raw)
In-Reply-To: <455DC001.2040001@domain.hid>

Hi Jan, 

First, I give you some more information about the error.
The output is the following:
Hi, I am task A Hello
Hi, I am task B World
Main waits for A
This is the end of A
Main waits for B

Then the system hangs.

I have done two tests to verify if there is an SMP issue.
First, I have set all CPUs in use with the application to CPU 0.
There was no change. However, I am able to stop the application with CTRL-C
and everything is cleaned up fine.

Then, I have modified the BIOS settings of the PC to disable Hyperthreading.
Again, no change. The same effect as with the test before.

The strange thing here is, when I use the original test (main on CPU 0, rt tasks on CPU 1)
on a SMP machine, I am not able to terminate the application with CTRL-C.
I have to reboot the PC.

That means, there seems to be a relation to SMP...

Another thing I have detected:
When I modify the program to replace the final rt_task_delete by
a sleep(1) call everything runs perfectly again.

Mathias

> > I found out, that is issue seems to be related to the NPTL (native posix
> thread library).
> > The pthread library in use was 
> > /lib/tls/i686/cmov/libpthread.so.0
> > which is part of the Debian (testing) package libc6-i686.
> > (see http://packages.debian.org/testing/libs/libc6-i686)
> > 
> > When renaming the lib/tls to lib/tls.disabled the pthread library in use
> is
> > /lib/libpthread.so.0
> > and then it is working perfectly!
> 
> ...which does not yet explain WHY the other scenario fails.
> 
> > 
> > It seems that the i686 optimized libc is not fully compatible with
> Xenomai.
> 
> That's not true in such a common form. We are using NTPL libs for i586
> and i686 (SuSE builds) without /general/ issues. Still, specific
> problems like this may sleep somewhere.
> 
> > I read about this library at Romain Lenglet's web page:
> >
> http://www.csg.is.titech.ac.jp/~lenglet/howtos/realtimelinuxhowto/index.html
> 
> > I think this library uses the NPTL (Native Posix Thread Lib).
> > The i686 optimized library shows the value
> > NPTL 2.3.6  
> > at 
> > getconf GNU_LIBPTHREAD_VERSION
> > The "old" pthread lib shows the value:
> > linuxthreads-0.10
> > 
> > Now, I tried to reconfigure Xenomai with --enable-x86-sep to use
> > the NPTL but this did not help either.
> 
> That only influences the way syscalls are passed down into the kernel.
> 
> > When I rename now  /lib/tls to /lib/tls.disabled, the application
> complains
> > about the missing NPTL support in the library.
> > Well, I have now a solution that works:
> > I can use the standard pthread lib and not the i686 optimized NPTL.
> > However, as NPTL seems to be a performance benefit, I think it could be
> > worth to get this combination up and running.
> > 
> > Is there anybody out there that uses a Debian based system with the i686
> > optimized libc that works perfectly?
> > 
> > BTW: I am using xenomai 2.2.4 from end of October.
> > 
> 
> Again my question: is the issue SMP related?
> 
> Reproducing your problem over a qemu box (with or without SMP) failed so
> far for me. But I'm not on your glibc.
> 
> Jan


-- 
Mathias Koehrer
mathias_koehrer@domain.hid


Viel oder wenig? Schnell oder langsam? Unbegrenzt surfen + telefonieren
ohne Zeit- und Volumenbegrenzung? DAS TOP ANGEBOT JETZT bei Arcor: günstig
und schnell mit DSL - das All-Inclusive-Paket für clevere Doppel-Sparer,
nur  44,85 €  inkl. DSL- und ISDN-Grundgebühr!
http://www.arcor.de/rd/emf-dsl-2


  reply	other threads:[~2006-11-17 14:17 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-17 12:14 [Xenomai-help] Re: Re: What happens if task entry function returns? M. Koehrer
2006-11-17 13:58 ` [Xenomai-help] " Jan Kiszka
2006-11-17 14:17   ` M. Koehrer [this message]
2006-11-17 15:00     ` [Xenomai-help] " Jan Kiszka
2006-11-17 15:28       ` M. Koehrer
2006-11-17 15:38         ` Jan Kiszka
2006-11-18 15:52     ` Philippe Gerum
2006-11-20  7:52       ` Re: [Xenomai-help] Re: Re: What happens if task entry function M. Koehrer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=16178634.1163773048304.JavaMail.ngmail@domain.hid \
    --to=mathias_koehrer@domain.hid \
    --cc=jan.kiszka@domain.hid \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.