<div dir="ltr">Stefan,<div class="gmail_extra"><br><div class="gmail_quote">2018-03-04 14:30 GMT+01:00 Stefan Chulski <span dir="ltr"><<a href="mailto:stefanc@marvell.com" target="_blank">stefanc@marvell.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div class="m_-206344170006671260WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Marcin Wojtas [mailto:<a href="mailto:mw@semihalf.com" target="_blank">mw@semihalf.com</a>]
<br>
<b>Sent:</b> Sunday, March 04, 2018 3:18 PM<br>
<b>To:</b> Stefan Chulski <<a href="mailto:stefanc@marvell.com" target="_blank">stefanc@marvell.com</a>><br>
<b>Cc:</b> Steve McIntyre <<a href="mailto:steve@einval.com" target="_blank">steve@einval.com</a>>; <a href="mailto:macchiato@lists.einval.com" target="_blank">macchiato@lists.einval.com</a><br>
<b>Subject:</b> Re: [Macchiato] [EXT] Network driver crash<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Hi Stefan,<u></u><u></u></p>
<div><span class="">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">2018-03-04 13:35 GMT+01:00 Stefan Chulski <<a href="mailto:stefanc@marvell.com" target="_blank">stefanc@marvell.com</a>>:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal" style="margin-bottom:12.0pt">> >IRQ requested during interface open procedure.<br>
> >So you should do "ifconfig eth2 up".<br>
> >I don't have mainline code right now, but should be something like this:<br>
> ># ifconfig eth2 up<br>
> ># cat /proc/interrupts | grep eth2<br>
> >134:          1          0          0          0       ICU 129 Level     f4000000.ppv22.eth2.link<br>
> >135:          0          0          0          0       ICU  39 Level     f4000000.ppv22.eth2.cpu0<br>
> >136:          0          0          0          0       ICU  43 Level     f4000000.ppv22.eth2.cpu1<br>
> >137:          0          0          0          0       ICU  47 Level     f4000000.ppv22.eth2.cpu2<br>
> >138:          0          0          0          0       ICU  51 Level     f4000000.ppv22.eth2.cpu3<br>
><br>
> Nope, not seeing that here:<br>
><br>
> steve@mjolnir:~$ sudo ifconfig eth2 up<br>
> steve@mjolnir:~$ cat /proc/interrupts | grep eth2<br>
>  70:          0          0          0          0     GICv2 294 Level     eth2<br>
<br>
Packet processor use ICU interrupts...<br>
<br>
Could you please share your dtb file, boot log and ifconfig -a output.<br>
<br>
<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">The DTB that Stuart was running, use older binding (ICU -> GIC mapping basing on the ATF configuration). Do you think it can matter?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</span><p class="MsoNormal"><span style="color:#1f497d">Yes. Look like it cause issue.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d">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.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d">You can work around this issue by disabling TX Done interrupts in mvpp2_port_has_tx_irqs<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal" style="margin-left:5.25pt"><span style="color:#1f497d">         for (i = 0; i < 5; i++) {<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:5.25pt"><span style="color:#1f497d">                     ret = of_property_match_string(port_<wbr>node, "interrupt-names",<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:5.25pt"><span style="color:#1f497d">                              <wbr>                                  irqs[i]);<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:5.25pt"><span style="color:#1f497d">                     if (ret < 0)<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:5.25pt"><span style="color:#1f497d">                              <wbr>   return false;<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d">          }<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:5.25pt"><span style="color:#1f497d">-       return true;<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:5.25pt"><span style="color:#1f497d">+      return false;<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><br></p></div></div></div></div></div></blockquote><div><br></div><div>With distros we can only manipulate DTB / ACPI contents, so let's confirm that.</div><div><br></div><div>Thanks,</div><div>Marcin <br></div></div></div></div>