All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfgang Mauerer <wolfgang.mauerer@siemens.com>
To: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Cc: "Kiszka, Jan" <jan.kiszka@siemens.com>,
	"xenomai@xenomai.org" <xenomai@xenomai.org>
Subject: Re: [Xenomai] [GIT PULL] core-5 for x86
Date: Wed, 19 Sep 2012 14:15:43 +0200	[thread overview]
Message-ID: <5059B76F.7020608@siemens.com> (raw)
In-Reply-To: <5058CD54.4070509@xenomai.org>

On 18/09/12 21:36, Gilles Chanteperdrix wrote:
> On 09/18/2012 05:27 PM, Wolfgang Mauerer wrote:
> 
>> On 18/09/12 16:25, Gilles Chanteperdrix wrote:
>>> On 09/18/2012 04:11 PM, Wolfgang Mauerer wrote:
>>>> Dear all,
>>>>
>>>> here's a rebase of the x86-specific bits of core-4 to core-5. I've
>>>> included all x86 specific changes that are not yet in core-5, and
>>>> also added the patches I sent earlier for core-4. I did not include a
>>>> separate patch for the mechanical changes required to apply the
>>>> x86 base patch on top of core-5, but can surely do so if desired.
>>>
>>> I am not quite finished with x86 on 3.4. So, I would like to start 3.5
>>> from the finishing point on 3.4. There are already commits in my branch
>>> which you did not take:
>>>
>>> http://git.xenomai.org/?p=ipipe-gch.git;a=shortlog;h=refs/heads/for-core-3.4
>> that's true; my last pull was too old. I'll add the corresponding
>> commits to the tree (FYI, the purpose of this tree is mainly to do some
>> experiments with the latest ipipe release and the latest kernel, and
>> I wanted to make sure that work is not duplicated in case someone else
>> is pursuing similar goals)
> 
> 
> Ok. We have a currently pending issue on x86 which you should be
> informed about before discovering it during your tests: using
> rthal_supported_cpus is broken in I-pipe core patches when using the
> LAPIC timer: since there is only one irq handler for all the LAPIC
> timers, the handler is registered on all cpus, but on non started cpus,
> the handler will do nothing at best, and not foward the LAPIC ticks to
> Linux (which is still in control of the LAPIC timer on these cpus).
> 
> This problem is due to the fact that we keep the same vector as Linux,
> and so the same irq. There are two ways out of this:
> 
> - change the LAPIC vector when xenomai takes the control of the LAPIC
> timer, like we use to do, this is racy with current code because the
> timer is taken by Xenomai but still used a bit by Linux, before it is
> programmed by Xenomai, and Xenomai assumes that the host tick irq is the
> same as the timer irq. All this can be fixed, but the last drawback of
> this approach is that it does not fix the issue on architectures where
> the local timer irq is the same on all cpus, but can not be changed,
> hence the second approach;
> - the second approach is to add a test at the beginning of
> xnintr_clock_handler and forward the irq to the root domain if the
> current cpu does not belong to xnarch_supported_cpus. This means some
> patching of I-pipe timers so that ipipe_percpu.hrtimer_irq also gets
> defined for non supported cpus when they use the timer shared with other
> cpus, essentially what this patch tries (but fails) to achieve:
> 
> http://www.xenomai.org/pipermail/xenomai/2012-September/026066.html

thanks for the info! Unfortunately, I was not able to reproduce this
issue quickly using two latency instances bound to different CPUs on a
machine booted with isolcpus=1, though.

I did also not see the issue with core-5, but that's because
bdeaf76ba30a517 (ipipe/x86: use the vector_irq for system vectors too)
leads to a stuck CPU bringup for >1 CPUs. Will maybe look into that a
bit further.

Best regards, Wolfgang


  reply	other threads:[~2012-09-19 12:15 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-18 14:11 [Xenomai] [GIT PULL] core-5 for x86 Wolfgang Mauerer
2012-09-18 14:25 ` Gilles Chanteperdrix
2012-09-18 15:27   ` Wolfgang Mauerer
2012-09-18 19:36     ` Gilles Chanteperdrix
2012-09-19 12:15       ` Wolfgang Mauerer [this message]
2012-09-19 12:36         ` Gilles Chanteperdrix
2012-09-20 16:11         ` Gilles Chanteperdrix
2012-09-25 14:45           ` Wolfgang Mauerer
2012-09-25 14:57             ` Gilles Chanteperdrix
2012-09-25 14:58               ` Wolfgang Mauerer
2012-09-26 14:41               ` Wolfgang Mauerer
2012-09-26 13:16                 ` [Xenomai] [PATCH 1/2] Refactor ipipe_select_timers Wolfgang Mauerer
2012-09-26 21:28                   ` Gilles Chanteperdrix
2012-09-27  8:28                     ` Wolfgang Mauerer
2012-09-27 12:04                       ` Gilles Chanteperdrix
2012-09-27 12:47                         ` Wolfgang Mauerer
2012-09-27 12:54                           ` Gilles Chanteperdrix
2012-09-27 12:56                             ` Wolfgang Mauerer
2012-09-27 18:33                           ` Gilles Chanteperdrix
2012-09-28  8:32                             ` Wolfgang Mauerer
2012-09-30 20:50                               ` Gilles Chanteperdrix
2012-09-26 13:16                 ` [Xenomai] [PATCH 2/2] Register high-res timer irq for non-ipipe timers if necessary Wolfgang Mauerer
2012-09-27 18:39                   ` Gilles Chanteperdrix

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=5059B76F.7020608@siemens.com \
    --to=wolfgang.mauerer@siemens.com \
    --cc=gilles.chanteperdrix@xenomai.org \
    --cc=jan.kiszka@siemens.com \
    --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.