[Macchiato] [EXT] Network driver crash

Marcin Wojtas mw at semihalf.com
Sun Mar 4 13:38:51 GMT 2018


Stefan,

2018-03-04 14:30 GMT+01:00 Stefan Chulski <stefanc at marvell.com>:

>
>
>
>
> *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>:
>
> > >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;
>
>
>
>
>
With distros we can only manipulate DTB / ACPI contents, so let's confirm
that.

Thanks,
Marcin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.einval.com/pipermail/macchiato/attachments/20180304/e9f2e2d2/attachment.html>


More information about the Macchiato mailing list