* [Xenomai-core] [BUG?] delayed PIC timer event
@ 2006-10-19 16:21 Jan Kiszka
2006-10-22 13:39 ` Gilles Chanteperdrix
0 siblings, 1 reply; 3+ messages in thread
From: Jan Kiszka @ 2006-10-19 16:21 UTC (permalink / raw)
To: xenomai-core
[-- Attachment #1.1: Type: text/plain, Size: 1221 bytes --]
Hi,
while actually cross-checking some user's problem with RTnet (not on
Xenomai), I happen to stumble over another weirdness. Scenario:
RTnet under high load (>5 KHz network IRQ rate, large packets), "latency
-p1000" as additional load, Pentium 266 MHz (tried boards from different
vendors), kernel 2.6.17.13, Xenomai trunk, ipipe-1.5-00, CONFIG_M586TSC,
!CONFIG_X86_UP_APIC
Main protagonists:
- "display-" (user, PID 909, prio 0/-1)
- "samplin" (user, PID 910, prio 99)
- stack manager (kernel, PID -1, prio 98)
- "client", the RTnet test (user, PID 903, prio 10)
So the sampling task is definitely the chief and should only be delayed
by IRQ handlers. Generally it is (~120 us with i-pipe tracer enabled),
but there happen to be delays of more than 500 us. Attached is such a trace.
Specifically suspicious is the fact that the timer IRQ, which should
have popped up around -500, is not blocked by some hard IRQ lock. Rather
it takes someone else (the RTnet test) to start another timer, and then
the delayed event gets raised immediately. Hardware issue? Bug in
Xenomai? With the same boot image on a P-III, this does not happen.
Any ideas what to check first are welcome.
Jan
[-- Attachment #1.2: dump.gz --]
[-- Type: application/x-gzip, Size: 30684 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Xenomai-core] [BUG?] delayed PIC timer event
2006-10-19 16:21 [Xenomai-core] [BUG?] delayed PIC timer event Jan Kiszka
@ 2006-10-22 13:39 ` Gilles Chanteperdrix
2006-10-22 14:03 ` Philippe Gerum
0 siblings, 1 reply; 3+ messages in thread
From: Gilles Chanteperdrix @ 2006-10-22 13:39 UTC (permalink / raw)
To: Jan Kiszka; +Cc: xenomai-core
Jan Kiszka wrote:
> Hi,
>
> while actually cross-checking some user's problem with RTnet (not on
> Xenomai), I happen to stumble over another weirdness. Scenario:
>
> RTnet under high load (>5 KHz network IRQ rate, large packets), "latency
> -p1000" as additional load, Pentium 266 MHz (tried boards from different
> vendors), kernel 2.6.17.13, Xenomai trunk, ipipe-1.5-00, CONFIG_M586TSC,
> !CONFIG_X86_UP_APIC
>
> Main protagonists:
> - "display-" (user, PID 909, prio 0/-1)
> - "samplin" (user, PID 910, prio 99)
> - stack manager (kernel, PID -1, prio 98)
> - "client", the RTnet test (user, PID 903, prio 10)
>
> So the sampling task is definitely the chief and should only be delayed
> by IRQ handlers. Generally it is (~120 us with i-pipe tracer enabled),
> but there happen to be delays of more than 500 us. Attached is such a trace.
>
> Specifically suspicious is the fact that the timer IRQ, which should
> have popped up around -500, is not blocked by some hard IRQ lock. Rather
> it takes someone else (the RTnet test) to start another timer, and then
> the delayed event gets raised immediately. Hardware issue? Bug in
> Xenomai? With the same boot image on a P-III, this does not happen.
>
> Any ideas what to check first are welcome.
I got similar behaviour on hardware where programming the timer for a
too short delay did not work. The way to check this was to add :
if (delay < 100)
printk("\n!!!! Short delay !!!!\n");
on the timer programming path.
--
Gilles Chanteperdrix.
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [Xenomai-core] [BUG?] delayed PIC timer event
2006-10-22 13:39 ` Gilles Chanteperdrix
@ 2006-10-22 14:03 ` Philippe Gerum
0 siblings, 0 replies; 3+ messages in thread
From: Philippe Gerum @ 2006-10-22 14:03 UTC (permalink / raw)
To: Gilles Chanteperdrix; +Cc: Jan Kiszka, xenomai-core
On Sun, 2006-10-22 at 15:39 +0200, Gilles Chanteperdrix wrote:
> Jan Kiszka wrote:
> > Hi,
> >
> > while actually cross-checking some user's problem with RTnet (not on
> > Xenomai), I happen to stumble over another weirdness. Scenario:
> >
> > RTnet under high load (>5 KHz network IRQ rate, large packets), "latency
> > -p1000" as additional load, Pentium 266 MHz (tried boards from different
> > vendors), kernel 2.6.17.13, Xenomai trunk, ipipe-1.5-00, CONFIG_M586TSC,
> > !CONFIG_X86_UP_APIC
> >
> > Main protagonists:
> > - "display-" (user, PID 909, prio 0/-1)
> > - "samplin" (user, PID 910, prio 99)
> > - stack manager (kernel, PID -1, prio 98)
> > - "client", the RTnet test (user, PID 903, prio 10)
> >
> > So the sampling task is definitely the chief and should only be delayed
> > by IRQ handlers. Generally it is (~120 us with i-pipe tracer enabled),
> > but there happen to be delays of more than 500 us. Attached is such a trace.
> >
> > Specifically suspicious is the fact that the timer IRQ, which should
> > have popped up around -500, is not blocked by some hard IRQ lock. Rather
> > it takes someone else (the RTnet test) to start another timer, and then
> > the delayed event gets raised immediately. Hardware issue? Bug in
> > Xenomai? With the same boot image on a P-III, this does not happen.
> >
> > Any ideas what to check first are welcome.
>
> I got similar behaviour on hardware where programming the timer for a
> too short delay did not work. The way to check this was to add :
> if (delay < 100)
> printk("\n!!!! Short delay !!!!\n");
>
> on the timer programming path.
Actually, there was a bug in the pipeline log syncer which has been
fixed in the latest patches for ppc and x86. This is a multi-arch issue
(__ipipe_sync_stage).
>
--
Philippe.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-10-22 14:03 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-19 16:21 [Xenomai-core] [BUG?] delayed PIC timer event Jan Kiszka
2006-10-22 13:39 ` Gilles Chanteperdrix
2006-10-22 14:03 ` Philippe Gerum
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.