<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<br>
<br>
IPI interrupt very high on some network device. <br>
<br>
eth0 and eth1 are intel e1000e devices<br>
and was configured as a bridge&nbsp; (Linux tcp/ip bridge stack)<br>
Use iperf to generate traffic between eth0 and eth1<br>
<br>
Here is interrupt counter. <br>
# cat /proc/interrupts<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPU0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPU1<br>
pcie0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1703&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GIC&nbsp; PCIe0, eth0<br>
pcie1 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2067&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GIC&nbsp; PCIe1, eth1<br>
IPI:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2487&nbsp;&nbsp;&nbsp; 2407340<br>
LOC:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16709&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16794<br>
<br>
And the bridge throughput is only 30% then single core system. <br>
<br>
Form previous experience, we will flush/invalidate a packet twice. <br>
So, the IPI interrupt twice then pcie's interrupe is make sense. <br>
But we observe extreme hight IPI interrupts, compare to traditional
cache flush function. <br>
<br>
Is this issue cause by network stack or by IPI weakness ?<br>
<br>
mkl lin wrote:
<blockquote cite="mid:SNT109-W571829762ECCA799EA0B3DA7860@phx.gbl"
 type="cite">
  <blockquote type="cite">
    <blockquote type="cite">
      <pre wrap="">Linux 2.6.31.1
pcie sata adapter, ahci.c
read 1GB file

1CPU:13.56/13.56/13.60 (sec) ~ 75.5MBps
SMP+IPI:16.29/16.14/16.05 (sec) ~ 63.8MBps
SMP+RFO/WFO:21.71/21.72/21.70 (sec) ~ 47.18MBps
SMP+RFO/WFO/pld:21.63/21.46/21.41 (sec) ~ 47.82MBps
      </pre>
    </blockquote>
    <pre wrap="">Out of interest, how does the 1CPU version perform when you boot with
'libata.force=pio' specified to the kernel?
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Due to my environment changed, those data is not comparable to previous. And AHCI only support DMA, force it to pio doen't make difference.

1CPU:17.15/17.07/17.10 ~ 59.98MBps
1CPU,with libata.force=pio: 17.02/16.86/17.03 ~ 60.73MBps
SMP+IPI: 21.20/21.36/21.88 ~ 48.30MBps
SMP+IPI,with libata.force=pio: 21.36/21.22/21.59 ~ 48.24MBps

Best Regard,
Mac Lin

                                               
_________________________________________________________________
Windows Live: Friends get your Flickr, Yelp, and Digg updates when they e-mail you.
<a class="moz-txt-link-freetext" href="http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_3:092010">http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_3:092010</a>

_______________________________________________
linux-arm-kernel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:linux-arm-kernel@lists.infradead.org">linux-arm-kernel@lists.infradead.org</a>
<a class="moz-txt-link-freetext" href="http://lists.infradead.org/mailman/listinfo/linux-arm-kernel">http://lists.infradead.org/mailman/listinfo/linux-arm-kernel</a>

  </pre>
</blockquote>
<br>
</body>
</html>