* [Adeos-main] RT ISR re-entrance
@ 2007-08-27 6:38 张晶
2007-08-27 10:32 ` Jan Kiszka
0 siblings, 1 reply; 4+ messages in thread
From: 张晶 @ 2007-08-27 6:38 UTC (permalink / raw)
To: adeos-main
[-- Attachment #1: Type: text/plain, Size: 285 bytes --]
hi all,
In SMP system, an edge triggerred interrupt may be dispatched to multiple
cpus, so the RT ISR of this interrupt may be involved on multiple cpus at
the same time. The question comes: is RT ISR need to be reentrant as
designed or do I miss something?
best regards,
zhangjing
[-- Attachment #2: Type: text/html, Size: 312 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Adeos-main] RT ISR re-entrance
2007-08-27 6:38 [Adeos-main] RT ISR re-entrance 张晶
@ 2007-08-27 10:32 ` Jan Kiszka
2007-08-27 13:54 ` 张晶
0 siblings, 1 reply; 4+ messages in thread
From: Jan Kiszka @ 2007-08-27 10:32 UTC (permalink / raw)
To: ??; +Cc: adeos-main
[-- Attachment #1: Type: text/plain, Size: 799 bytes --]
?? wrote:
> hi all,
>
> In SMP system, an edge triggerred interrupt may be dispatched to multiple
> cpus, so the RT ISR of this interrupt may be involved on multiple cpus at
> the same time. The question comes: is RT ISR need to be reentrant as
> designed or do I miss something?
Good question. I would say: yes, it's the I-pipe user's job to take care
of re-entrance safety.
Vanilla Linux prevents this via the IRQ_INPROGRESS flag. Xenomai 2.4 and
since 2.3.2 achieves re-entrance protection for the registered driver
handler by holding the IRQ-related spinlock while calling into that
handler. Still, this isn't something the user should build his system
upon. It is rather recommended for determinism and efficiency reasons to
assign RT IRQs to a specific CPU.
HTH,
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Adeos-main] RT ISR re-entrance
2007-08-27 10:32 ` Jan Kiszka
@ 2007-08-27 13:54 ` 张晶
2007-08-27 16:55 ` Jan Kiszka
0 siblings, 1 reply; 4+ messages in thread
From: 张晶 @ 2007-08-27 13:54 UTC (permalink / raw)
To: Jan Kiszka, adeos-main
[-- Attachment #1: Type: text/plain, Size: 1033 bytes --]
hi,
Thank you for your reply!
2007/8/27, Jan Kiszka <jan.kiszka@web.de>:
>
> ?? wrote:
> > hi all,
> >
> > In SMP system, an edge triggerred interrupt may be dispatched to
> multiple
> > cpus, so the RT ISR of this interrupt may be involved on multiple cpus
> at
> > the same time. The question comes: is RT ISR need to be reentrant as
> > designed or do I miss something?
>
> Good question. I would say: yes, it's the I-pipe user's job to take care
> of re-entrance safety.
>
> Vanilla Linux prevents this via the IRQ_INPROGRESS flag. Xenomai 2.4 and
> since 2.3.2 achieves re-entrance protection for the registered driver
> handler by holding the IRQ-related spinlock while calling into that
> handler.
AFAIK, Xenomai 2.3.3 simply uses the IRQ dispatcher of i-pipe and do not
supply its own dispatcher.
Still, this isn't something the user should build his system
> upon. It is rather recommended for determinism and efficiency reasons to
> assign RT IRQs to a specific CPU.
Good suggestion!Thanks again!
HTH,
> Jan
>
>
>
[-- Attachment #2: Type: text/html, Size: 1700 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Adeos-main] RT ISR re-entrance
2007-08-27 13:54 ` 张晶
@ 2007-08-27 16:55 ` Jan Kiszka
0 siblings, 0 replies; 4+ messages in thread
From: Jan Kiszka @ 2007-08-27 16:55 UTC (permalink / raw)
To: 张晶; +Cc: adeos-main
[-- Attachment #1: Type: text/plain, Size: 1212 bytes --]
张晶 wrote:
> hi,
>
> Thank you for your reply!
>
> 2007/8/27, Jan Kiszka <jan.kiszka@domain.hid>:
>> ?? wrote:
>>> hi all,
>>>
>>> In SMP system, an edge triggerred interrupt may be dispatched to
>> multiple
>>> cpus, so the RT ISR of this interrupt may be involved on multiple cpus
>> at
>>> the same time. The question comes: is RT ISR need to be reentrant as
>>> designed or do I miss something?
>> Good question. I would say: yes, it's the I-pipe user's job to take care
>> of re-entrance safety.
>>
>> Vanilla Linux prevents this via the IRQ_INPROGRESS flag. Xenomai 2.4 and
>> since 2.3.2 achieves re-entrance protection for the registered driver
>> handler by holding the IRQ-related spinlock while calling into that
>> handler.
>
>
> AFAIK, Xenomai 2.3.3 simply uses the IRQ dispatcher of i-pipe and do not
> supply its own dispatcher.
The Xenomai nucleus does dispatch - to the registered handler(s).
>
> Still, this isn't something the user should build his system
>> upon. It is rather recommended for determinism and efficiency reasons to
>> assign RT IRQs to a specific CPU.
>
>
> Good suggestion!Thanks again!
>
> HTH,
>> Jan
>>
>>
>>
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-08-27 16:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-27 6:38 [Adeos-main] RT ISR re-entrance 张晶
2007-08-27 10:32 ` Jan Kiszka
2007-08-27 13:54 ` 张晶
2007-08-27 16:55 ` Jan Kiszka
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.