All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@domain.hid>
To: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Cc: xenomai-core <xenomai@xenomai.org>
Subject: Re: [Xenomai-core] [bug] lock-up by failing rt_task_spawn/create
Date: Wed, 10 May 2006 16:55:18 +0200	[thread overview]
Message-ID: <4461FED6.9010603@domain.hid> (raw)
In-Reply-To: <17505.60475.312706.601248@domain.hid>

[-- Attachment #1: Type: text/plain, Size: 2098 bytes --]

Gilles Chanteperdrix wrote:
> Jan Kiszka wrote:
>  > Gilles Chanteperdrix wrote:
>  > > Jan Kiszka wrote:
>  > >  > BTW, this reminds me the ask for a merging plan of the kgdb support for
>  > >  > ipipe - this bug was tracked down via kgdb...
>  > > 
>  > > There are some issues with the kgdb patch:
>  > > - it does not work if the nucleus is compiled as a module, because it
>  > >   uses xnpod_current_thread()
>  > 
>  > I know, but I do not have a clean solution for this yet. A workaround
>  > would be to force the nucleus into the kernel via kconfig if the kgdb is
>  > enabled. Any other ideas how to detect kernel-only threads (i.e. invalid
>  > "current")?
> 
> If we suppose that the kgdb patch is made adeos aware, could we ask a
> domain-specific callback to be called when not running the root domain ?
> This callback would be set by Xenomai in an #ifdef CONFIG_KGDB section.

Sounds good, will try this.

> 
>  > 
>  > > - it does not work on SMP because the kgdb patch uses
>  > >   smp_processor_id(), which does not work on SMP over Xenomai domain.
>  > > 
>  > 
>  > Ok, but probably fixable. If simple search&replace in the kgdb patch is
>  > not enough, a similar workaround could be applied for now: disallow kgdb
>  > usage over SMP.
> 
> Since we are going to have this problem over and over again for each
> patch that we want to adapt to xenomai (ltt comes to my mind), maybe we
> could make smp_processor_id() in adeos patch safe to be called over non
> root domain by using ipipe_processor_id() when called over non-root
> domains.
> 
> I think there is currently no code that take advantage of the fact that
> the fast smp_processor_id() may safely be called over shadow threads, so
> the performance penalty of using ipipe_processor_id() will be minimal.
> 

What about the potential penalty for normal Linux callers of
smp_processor_id()? Would this degrade the overall performance
noticeably even if there is now kgdb or ltt? Or should we make this
"ipipe-safe" smp_processor_id() optional for such users?

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

  reply	other threads:[~2006-05-10 14:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-09 20:32 [Xenomai-core] [bug] lock-up by failing rt_task_spawn/create Jan Kiszka
2006-05-09 20:42 ` Gilles Chanteperdrix
2006-05-09 20:54   ` Jan Kiszka
2006-05-10 13:35     ` Gilles Chanteperdrix
2006-05-10 14:55       ` Jan Kiszka [this message]
2006-05-10 15:30         ` Gilles Chanteperdrix
2006-05-09 21:48 ` Philippe Gerum

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=4461FED6.9010603@domain.hid \
    --to=jan.kiszka@domain.hid \
    --cc=gilles.chanteperdrix@xenomai.org \
    --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.