* [Xenomai-help] NETDEV WATCHDOG on ARM
@ 2008-11-17 9:22 Stefano Gafforelli
2008-11-17 10:13 ` Gilles Chanteperdrix
0 siblings, 1 reply; 9+ messages in thread
From: Stefano Gafforelli @ 2008-11-17 9:22 UTC (permalink / raw)
To: xenomai
[-- Attachment #1: Type: text/plain, Size: 433 bytes --]
Hi all,
I have compiled a kernel 2.6.25.4 + at-91 patch + ronetix patch + xenomai
2.4.4 and successfully booted on at91SAM9261 based board with DM9000, but
ethernet comunication doesn't work and I see the following messagge:
*
*NETDEV WATCHDOG: eth0: transmit timed out.
*
*I see that a similar problem is traced in "New I-pipe patch for ARM"
thread, but I don't found what it is the final solution.
Could someone help me?
Stefano.
[-- Attachment #2: Type: text/html, Size: 535 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-help] NETDEV WATCHDOG on ARM
2008-11-17 9:22 [Xenomai-help] NETDEV WATCHDOG on ARM Stefano Gafforelli
@ 2008-11-17 10:13 ` Gilles Chanteperdrix
2008-11-17 11:28 ` Stefano Gafforelli
0 siblings, 1 reply; 9+ messages in thread
From: Gilles Chanteperdrix @ 2008-11-17 10:13 UTC (permalink / raw)
To: Stefano Gafforelli; +Cc: xenomai
Stefano Gafforelli wrote:
> Hi all,
> I have compiled a kernel 2.6.25.4 + at-91 patch + ronetix patch + xenomai
> 2.4.4 and successfully booted on at91SAM9261 based board with DM9000, but
> ethernet comunication doesn't work and I see the following messagge:
> *
> *NETDEV WATCHDOG: eth0: transmit timed out.
> *
> *I see that a similar problem is traced in "New I-pipe patch for ARM"
> thread, but I don't found what it is the final solution.
> Could someone help me?
Do you get the same problem with Xenomai 2.4.6.1 and a 2.6.26 kernel ?
--
Gilles.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-help] NETDEV WATCHDOG on ARM
2008-11-17 10:13 ` Gilles Chanteperdrix
@ 2008-11-17 11:28 ` Stefano Gafforelli
2008-11-17 13:24 ` Gilles Chanteperdrix
0 siblings, 1 reply; 9+ messages in thread
From: Stefano Gafforelli @ 2008-11-17 11:28 UTC (permalink / raw)
To: Gilles Chanteperdrix; +Cc: xenomai
[-- Attachment #1: Type: text/plain, Size: 758 bytes --]
I tried only with kernel 2.6.25.4 and xenomai 2.4.4.
2008/11/17 Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
> Stefano Gafforelli wrote:
> > Hi all,
> > I have compiled a kernel 2.6.25.4 + at-91 patch + ronetix patch +
> xenomai
> > 2.4.4 and successfully booted on at91SAM9261 based board with DM9000, but
> > ethernet comunication doesn't work and I see the following messagge:
> > *
> > *NETDEV WATCHDOG: eth0: transmit timed out.
> > *
> > *I see that a similar problem is traced in "New I-pipe patch for ARM"
> > thread, but I don't found what it is the final solution.
> > Could someone help me?
>
> Do you get the same problem with Xenomai 2.4.6.1 and a 2.6.26 kernel ?
>
> --
> Gilles.
>
[-- Attachment #2: Type: text/html, Size: 1452 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-help] NETDEV WATCHDOG on ARM
2008-11-17 11:28 ` Stefano Gafforelli
@ 2008-11-17 13:24 ` Gilles Chanteperdrix
2008-11-21 12:17 ` Stefano Gafforelli
0 siblings, 1 reply; 9+ messages in thread
From: Gilles Chanteperdrix @ 2008-11-17 13:24 UTC (permalink / raw)
To: Stefano Gafforelli; +Cc: xenomai
Stefano Gafforelli wrote:
> I tried only with kernel 2.6.25.4 and xenomai 2.4.4.
In order to avoid wasting people's time, please try xenomai 2.4.6.1.
--
Gilles.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-help] NETDEV WATCHDOG on ARM
2008-11-17 13:24 ` Gilles Chanteperdrix
@ 2008-11-21 12:17 ` Stefano Gafforelli
2008-11-21 13:12 ` Gilles Chanteperdrix
0 siblings, 1 reply; 9+ messages in thread
From: Stefano Gafforelli @ 2008-11-21 12:17 UTC (permalink / raw)
To: Gilles Chanteperdrix; +Cc: xenomai
[-- Attachment #1: Type: text/plain, Size: 2888 bytes --]
I tried with kernel 2.6.26 with xenomai 2.4.6.1 but the problem is still
present (same result with kernel 2.6.26.8);
when tried to make a ping I saw the following messages
# ping 192.168.0.230
PING 192.168.0.230 (192.168.0.230): 56 data bytes
NETDEV WATCHDOG: eth0: transmit timed out
------------[ cut here ]------------
WARNING: at net/sched/sch_generic.c:222 dev_watchdog+0xac/0x138()
Modules linked in:
[<c002eb38>] (dump_stack+0x0/0x14) from [<c0042d18>]
(warn_on_slowpath+0x4c/0x84)
[<c0042ccc>] (warn_on_slowpath+0x0/0x84) from [<c0254084>]
(dev_watchdog+0xac/0x138)
r6:c0253fd8 r5:c3c8a800 r4:c03a8c78
[<c0253fd8>] (dev_watchdog+0x0/0x138) from [<c004c100>]
(run_timer_softirq+0x15c/0x200)
r5:c038a460 r4:00000100
[<c004bfa4>] (run_timer_softirq+0x0/0x200) from [<c0047ee0>]
(__do_softirq+0x54/0xe0)
r7:00000000 r6:0000000a r5:c038a24c r4:00000001
[<c0047e8c>] (__do_softirq+0x0/0xe0) from [<c00483dc>] (irq_exit+0x44/0x4c)
r6:00000000 r5:c0368678 r4:00000011
[<c0048398>] (irq_exit+0x0/0x4c) from [<c002a044>] (asm_do_IRQ+0x44/0x5c)
[<c002a000>] (asm_do_IRQ+0x0/0x5c) from [<c0069ad8>]
(__ipipe_sync_stage+0x188/0x2a8)
Exception stack(0xc0361ed0 to 0xc0361f18)
1ec0: fffffffe c038ca20 00000011
c038ca20
1ee0: c036b310 c038e744 41069265 2002326c c0361f1c c0361f00 c0069d60
c0069960
1f00: c038e740 00000011 00000011 00000000 c0361f40 c0361f20
r6:c038ca20 r5:00000011 r4:c038cc40
[<c0069950>] (__ipipe_sync_stage+0x0/0x2a8) from [<c0069d60>]
(__ipipe_walk_pipeline+0x98/0xcc)
[<c0069cc8>] (__ipipe_walk_pipeline+0x0/0xcc) from [<c002f50c>]
(__ipipe_handle_irq+0x114/0x150)
r7:00000000 r6:00000011 r5:00000011 r4:c038e740
[<c002f3f8>] (__ipipe_handle_irq+0x0/0x150) from [<c002f5d4>]
(__ipipe_grab_irq+0x8c/0xa8)
r8:200232a0 r7:c0363d10 r6:00000011 r5:fefff000 r4:ffffffff
[<c002f548>] (__ipipe_grab_irq+0x0/0xa8) from [<c002a80c>]
(__irq_svc+0x2c/0x5c)
[<c002bda8>] (default_idle+0x0/0x6c) from [<c002bc88>] (cpu_idle+0x38/0x54)
[<c002bc50>] (cpu_idle+0x0/0x54) from [<c02a73f4>] (rest_init+0x54/0x68)
r5:c0380908 r4:c039e698
[<c02a73a0>] (rest_init+0x0/0x68) from [<c0008d80>]
(start_kernel+0x294/0x308)
[<c0008aec>] (start_kernel+0x0/0x308) from [<20008034>] (0x20008034)
---[ end trace 680a8aa3c5f48898 ]---
--- 192.168.0.230 ping statistics ---
8 packets transmitted, 0 packets received, 100% packet loss
What is the problem?
Thanks,
Stefano.
P.S. after have applied xenomai to kernel I had a problem in compilation,
because is missing a "#include <linux/ipipe_trace.h>" in kernel/panic.c
(after it has been patched with adeos-ipipe).
2008/11/17 Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
> Stefano Gafforelli wrote:
> > I tried only with kernel 2.6.25.4 and xenomai 2.4.4.
>
> In order to avoid wasting people's time, please try xenomai 2.4.6.1.
>
> --
> Gilles.
>
[-- Attachment #2: Type: text/html, Size: 4260 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-help] NETDEV WATCHDOG on ARM
2008-11-21 12:17 ` Stefano Gafforelli
@ 2008-11-21 13:12 ` Gilles Chanteperdrix
[not found] ` <af29ce600811210730n5272bb11naa94eac6630d716f@domain.hid>
0 siblings, 1 reply; 9+ messages in thread
From: Gilles Chanteperdrix @ 2008-11-21 13:12 UTC (permalink / raw)
To: Stefano Gafforelli; +Cc: xenomai
Stefano Gafforelli wrote:
> I tried with kernel 2.6.26 with xenomai 2.4.6.1 but the problem is still
> present (same result with kernel 2.6.26.8);
> when tried to make a ping I saw the following messages
Did you try Linux with xenomai 2.4.6.1 with or without additional
patches (you mentioned at91 patch and ronetix patch) ?
--
Gilles.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-help] NETDEV WATCHDOG on ARM
[not found] ` <af29ce600811210730n5272bb11naa94eac6630d716f@domain.hid>
@ 2008-11-21 15:44 ` Gilles Chanteperdrix
2008-11-29 10:08 ` Marco Cavallini
0 siblings, 1 reply; 9+ messages in thread
From: Gilles Chanteperdrix @ 2008-11-21 15:44 UTC (permalink / raw)
To: Stefano Gafforelli; +Cc: Xenomai help
Stefano Gafforelli wrote:
> With additional patch...do you think that the problem is due to the relation
> between additional patch and xenomai?
Yes, that is something possible. Normally, we try to test that Xenomai
is compatible with the AT91 patch, but some error may escape, and we
never tested the ronetix patch, which I do not know. So, please test
without these additional patches.
P.S: please always CC the mailing list.
--
Gilles.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-help] NETDEV WATCHDOG on ARM
2008-11-21 15:44 ` Gilles Chanteperdrix
@ 2008-11-29 10:08 ` Marco Cavallini
2008-11-30 11:08 ` Gilles Chanteperdrix
0 siblings, 1 reply; 9+ messages in thread
From: Marco Cavallini @ 2008-11-29 10:08 UTC (permalink / raw)
To: Gilles Chanteperdrix; +Cc: Xenomai help
Gilles Chanteperdrix ha scritto:
> Stefano Gafforelli wrote:
>> With additional patch...do you think that the problem is due to the relation
>> between additional patch and xenomai?
>
> Yes, that is something possible. Normally, we try to test that Xenomai
> is compatible with the AT91 patch, but some error may escape, and we
> never tested the ronetix patch, which I do not know. So, please test
> without these additional patches.
>
> P.S: please always CC the mailing list.
>
Working with Stefano we pointed out some issues.
1. we successfully build linux-2.6.26 with xenomai-2.4.6.1 adding a
little patch.
2. we tested it on an AT91SAM9261 board and noticed that latency freezes
at "warming up..."
3. so we returned to the 'stable' linux-2.6.25 with xenomai-2.4.4
4. testing latency with this version succeeded
5. unfortunately network is not working so after debugging Stefano
dicovered that executing irq_finish(irq) in asm_do_IRQ()
[arch/arm/kernel/irq.c] made network working.
asmlinkage void __exception asm_do_IRQ(unsigned int irq, struct pt_regs
*regs)
{
struct pt_regs *old_regs = set_irq_regs(regs);
struct irq_desc *desc = irq_desc + irq;
/*
* Some hardware gives randomly wrong interrupts. Rather
* than crashing, do something sensible.
*/
if (irq >= NR_IRQS)
desc = &bad_irq_desc;
irq_enter();
desc_handle_irq(irq, desc);
//#ifndef CONFIG_IPIPE
/* AT91 specific workaround */
irq_finish(irq);
//#endif /* !CONFIG_IPIPE */
irq_exit();
set_irq_regs(old_regs);
}
We wonder why irq_finish() is not executed here when using IPIPE mode in
this asm_do_IRQ(().
Any hint will be greatly appreciated :-)
/marco & stefano
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xenomai-help] NETDEV WATCHDOG on ARM
2008-11-29 10:08 ` Marco Cavallini
@ 2008-11-30 11:08 ` Gilles Chanteperdrix
0 siblings, 0 replies; 9+ messages in thread
From: Gilles Chanteperdrix @ 2008-11-30 11:08 UTC (permalink / raw)
To: koansoftware; +Cc: Xenomai help
Marco Cavallini wrote:
> Gilles Chanteperdrix ha scritto:
>> Stefano Gafforelli wrote:
>>> With additional patch...do you think that the problem is due to the relation
>>> between additional patch and xenomai?
>> Yes, that is something possible. Normally, we try to test that Xenomai
>> is compatible with the AT91 patch, but some error may escape, and we
>> never tested the ronetix patch, which I do not know. So, please test
>> without these additional patches.
>>
>> P.S: please always CC the mailing list.
>>
>
> Working with Stefano we pointed out some issues.
>
> 1. we successfully build linux-2.6.26 with xenomai-2.4.6.1 adding a
> little patch.
What little patch ?
> 2. we tested it on an AT91SAM9261 board and noticed that latency freezes
> at "warming up..."
This is a known issue: the default period of 100us is too short on ARM.
So, you need to run latency with the -p 1000 option. If you enable FCSE,
you may be able to run latency -p 100, but will observer overruns under
load.
> 3. so we returned to the 'stable' linux-2.6.25 with xenomai-2.4.4
> 4. testing latency with this version succeeded
> 5. unfortunately network is not working so after debugging Stefano
> dicovered that executing irq_finish(irq) in asm_do_IRQ()
> [arch/arm/kernel/irq.c] made network working.
>
>
> asmlinkage void __exception asm_do_IRQ(unsigned int irq, struct pt_regs
> *regs)
> {
> struct pt_regs *old_regs = set_irq_regs(regs);
> struct irq_desc *desc = irq_desc + irq;
>
> /*
> * Some hardware gives randomly wrong interrupts. Rather
> * than crashing, do something sensible.
> */
> if (irq >= NR_IRQS)
> desc = &bad_irq_desc;
>
> irq_enter();
>
> desc_handle_irq(irq, desc);
>
> //#ifndef CONFIG_IPIPE
> /* AT91 specific workaround */
> irq_finish(irq);
> //#endif /* !CONFIG_IPIPE */
>
> irq_exit();
> set_irq_regs(old_regs);
> }
>
>
> We wonder why irq_finish() is not executed here when using IPIPE mode in
> this asm_do_IRQ(().
>
> Any hint will be greatly appreciated :-)
This has been discussed both on Xenomai mailing list and linux arm
kernel mailing list: running irq_finish here is very wrong, since it
means that only higher priority interrupts may be run before the current
interrupt has finished running (so, for instance, a high priority non
real-time interrupt may prevent low priority real-time interrupt from
runing). The proper place to run irq_finish is as soon as the interrupt
has been masked and acked.
Now, what we have to wonder is why irq_finish is not run for the
ethernet driver interrupt. Is it a multiplexed interrupt ?
>
>
> /marco & stefano
>
--
Gilles.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2008-11-30 11:08 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-17 9:22 [Xenomai-help] NETDEV WATCHDOG on ARM Stefano Gafforelli
2008-11-17 10:13 ` Gilles Chanteperdrix
2008-11-17 11:28 ` Stefano Gafforelli
2008-11-17 13:24 ` Gilles Chanteperdrix
2008-11-21 12:17 ` Stefano Gafforelli
2008-11-21 13:12 ` Gilles Chanteperdrix
[not found] ` <af29ce600811210730n5272bb11naa94eac6630d716f@domain.hid>
2008-11-21 15:44 ` Gilles Chanteperdrix
2008-11-29 10:08 ` Marco Cavallini
2008-11-30 11:08 ` Gilles Chanteperdrix
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.