[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