All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Gerum <rpm@xenomai.org>
To: rpm@xenomai.org
Cc: adeos-main <adeos-main@gna.org>
Subject: Re: [Adeos-main] [PATCH 4/5] remove legacy code
Date: Mon, 31 Dec 2007 17:34:08 +0100	[thread overview]
Message-ID: <47791A00.60804@domain.hid> (raw)
In-Reply-To: <477915A4.5050404@domain.hid>

Philippe Gerum wrote:
> Jan Kiszka wrote:
>> Philippe Gerum wrote:
>>> Jan Kiszka wrote:
>>>> Philippe Gerum wrote:
>>>>> Jan Kiszka wrote:
>>>>>> This patch gets rid of code that is no longer needed or valid:
>>>>>>
>>>>>>  - x86_64 APIC frequency is now delivered via ipipe_request_tickdev
>>>>> Ack.
>>>>>
>>>>>>  - __ipipe_tick_irq is maintained via ipipe_update_tick_evtdev also on
>>>>>>    x86_64
>>>>> Client RTOS may/do assume that timing is always delivered through the
>>>>> local APIC timer on x86_64. We could merge that and allow the 8253 to be
>>>>> used as the timer device, but this would not work in practice.
>>>> For forget HPET. There is no wiring of the timer IRQ to the APIC
>>>> anymore.
>>> My point is that whatever timer IRQs the kernel routes to INT0, be them
>>> from the HPET in legacy route replacement mode or from the i8253 with
>>> some former routing, we currently rely on the local APIC timer vector.
>>> No matter what, HPET it's just unsupported by Xenomai right now, so we
>>> can't see any IRQ0 registered as our tick device interrupt.
>> __ipipe_tick_irq, as it is used now, is reflecting Linux' tick IRQ, not
>> necessarily the one that Xenomai prefers.
>>
> 
> However, as a matter of fact, they are currently logically coupled. Let
> me detail my point, considering it from the Xenomai viewpoint, depending
> on the combinations of the two options we have been referring to:
> 
> ** !CONFIG_X86_LOCAL_APIC && CONFIG_HPET_TIMER
> 
> => Xenomai interposes on IRQ0 as normally generated by the HPET in LRR
> mode, but unfortunately makes the false assumption that the PIT is the
> active timer device and attempts to program it while managing timers
> in the real-time space, so no IRQ0 is ever generated. This leads to a
> complete lossage of clock event interrupts for both Linux and Xenomai.
> This is why we currently prevent such configuration from being set, at
> Kconfig-level.
> 
> ** CONFIG_X86_LOCAL_APIC && CONFIG_HPET_TIMER
> 
> => Xenomai always requests the LAPIC for timing because
> CONFIG_X86_LOCAL_APIC is defined, and always emulates host ticks by
> propagating forged interrupts to the LOCAL_TIMER_VECTOR (since v2.4.x,
> at least). Then, we have to consider how Linux's evtdev is set:
> o if evtdev == HPET (and of course LAPIC is not dummy), then we would
> have two Linux timer ticks per period (one emulated by Xenomai to the
> local APIC timer vector, one real from the HPET to IRQ0)

Eek, ok, my brain is definitely in low power mode. if we don't use the
same clock device than Linux, then we should neither emulate the
periodic tick, nor receive any host tick programming requests anyway
from Linux. Ok, forget about this. Let's be happy, and merge this.

We should only have to take care of the remaining issue #1.

-- 
Philippe.


      reply	other threads:[~2007-12-31 16:34 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-29 23:13 [Adeos-main] [PATCH 4/5] remove legacy code Jan Kiszka
2007-12-30 10:52 ` Philippe Gerum
2007-12-30 17:15   ` Jan Kiszka
2007-12-30 19:55     ` Philippe Gerum
2007-12-30 23:31       ` Jan Kiszka
2007-12-31 16:15         ` Philippe Gerum
2007-12-31 16:34           ` Philippe Gerum [this message]

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=47791A00.60804@domain.hid \
    --to=rpm@xenomai.org \
    --cc=adeos-main@gna.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.