[Macchiato] [EXT] Network driver crash
Stefan Chulski
stefanc at marvell.com
Sun Mar 4 13:30:31 GMT 2018
From: Marcin Wojtas [mailto:mw at semihalf.com]
Sent: Sunday, March 04, 2018 3:18 PM
To: Stefan Chulski <stefanc at marvell.com>
Cc: Steve McIntyre <steve at einval.com>; macchiato at lists.einval.com
Subject: Re: [Macchiato] [EXT] Network driver crash
Hi Stefan,
2018-03-04 13:35 GMT+01:00 Stefan Chulski <stefanc at marvell.com<mailto:stefanc at marvell.com>>:
> >IRQ requested during interface open procedure.
> >So you should do "ifconfig eth2 up".
> >I don't have mainline code right now, but should be something like this:
> ># ifconfig eth2 up
> ># cat /proc/interrupts | grep eth2
> >134: 1 0 0 0 ICU 129 Level f4000000.ppv22.eth2.link
> >135: 0 0 0 0 ICU 39 Level f4000000.ppv22.eth2.cpu0
> >136: 0 0 0 0 ICU 43 Level f4000000.ppv22.eth2.cpu1
> >137: 0 0 0 0 ICU 47 Level f4000000.ppv22.eth2.cpu2
> >138: 0 0 0 0 ICU 51 Level f4000000.ppv22.eth2.cpu3
>
> Nope, not seeing that here:
>
> steve at mjolnir:~$ sudo ifconfig eth2 up
> steve at mjolnir:~$ cat /proc/interrupts | grep eth2
> 70: 0 0 0 0 GICv2 294 Level eth2
Packet processor use ICU interrupts...
Could you please share your dtb file, boot log and ifconfig -a output.
The DTB that Stuart was running, use older binding (ICU -> GIC mapping basing on the ATF configuration). Do you think it can matter?
Yes. Look like it cause issue.
Each TX done interrupt mapped to specific CPU by smp_affinity and without IRQ balancing. Look like with old dtb interrupt raised on wrong CPU’s.
You can work around this issue by disabling TX Done interrupts in mvpp2_port_has_tx_irqs
for (i = 0; i < 5; i++) {
ret = of_property_match_string(port_node, "interrupt-names",
irqs[i]);
if (ret < 0)
return false;
}
- return true;
+ return false;
Stefan,
Best Regards.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.einval.com/pipermail/macchiato/attachments/20180304/adcb588f/attachment-0001.html>
More information about the Macchiato
mailing list