<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to improve IMX7 FEC driver performance in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/How-to-improve-IMX7-FEC-driver-performance/m-p/746581#M116166</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Artur,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using NXP IMX7D chip with Compulab CL-SOM-iMX7 SOM together with custom board design in house or with their evaluation board, same performance issue with L4.1.15 and with L4.9.11. Linux system details are available at &lt;A data-saferedirecturl="https://www.google.com/url?hl=en&amp;amp;q=http://www.compulab.com/wp-content/uploads/2018/03/cl-som-imx7_linux_2018-03-27.zip&amp;amp;source=gmail&amp;amp;ust=1527852691993000&amp;amp;usg=AFQjCNGKwPlwx5VbB51ShKOodRAnNNJa_w" href="http://www.compulab.com/wp-content/uploads/2018/03/cl-som-imx7_linux_2018-03-27.zip" style="color: #1155cc;" target="_blank"&gt;http://www.compulab.com/wp-content/uploads/2018/03/cl-som-imx7_linux_2018-03-27.zip&lt;/A&gt;&lt;/P&gt;&lt;P&gt;As the MAC is internal to chip and only external PHY (AR8033) is added&amp;nbsp; I really think it is bottom half of chip driver (FEC) is not optimized for performance. the PPS (packet per second) with short packets and for the long packets is about the same.&lt;/P&gt;&lt;P&gt;As in a standard network there are many short (&amp;lt;100B) packets the short packet performance is of an issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Danny&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 31 May 2018 15:02:12 GMT</pubDate>
    <dc:creator>dannyvaiselberg</dc:creator>
    <dc:date>2018-05-31T15:02:12Z</dc:date>
    <item>
      <title>How to improve IMX7 FEC driver performance</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-improve-IMX7-FEC-driver-performance/m-p/746579#M116164</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am got very low packet per second performance (using 64B packet) with IMX7 with FEC Ethernet driver, Any traffic rate above&amp;nbsp;5% of 1GE&amp;nbsp;exhibited packet drops and excessive&amp;nbsp;softirqs (&amp;gt;70%):,&amp;nbsp;see iperf results below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;iperf3.exe -c 10.0.0.195 -i 1 -l 64&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="background-color: #fff2f2; color: #000000; font-size: 14px;"&gt;....&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;[ ID] Interval Transfer Bandwidth&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;[ 4] 0.00-10.00 sec 53.9 MBytes 45.2 Mbits/sec sender&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;[ 4] 0.00-10.00 sec 53.4 MBytes 44.8 Mbits/sec receiver&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;Using LInux version based on 4.9.11 and setting a bridge between eth0 to eth1 and measured&amp;nbsp;short packet (68B) performance&amp;nbsp;between them.&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;Any traffic rate above&lt;/SPAN&gt;&lt;SPAN style="text-decoration: underline; color: #000000; font-size: 14px;"&gt;&lt;STRONG&gt;&lt;SPAN&gt;&amp;nbsp;5&lt;/SPAN&gt;% of 1GE&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;&amp;nbsp;exhibited packet drops and excessive&amp;nbsp;softirqs (&amp;gt;70%):&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #000000; text-decoration: underline; font-size: 14px;"&gt;top&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;- 13:50:46 up 8 min, 1 user, load average: 0.73, 0.29, 0.10&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;Tasks: 110 total, 2 running, 108 sleeping, 0 stopped, 0 zombie&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;%Cpu(s): 0.0 us, 0.4 sy, 0.0 ni, 56.8 id, 0.0 wa, 0.0 hi,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="text-decoration: underline; color: #000000; font-size: 14px;"&gt;&lt;STRONG&gt;42.8 si&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;, 0.0 st&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;KiB Mem : 1023124 total, 890160 free, 56144 used, 76820 buff/cache&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;KiB Swap: 0 total, 0 free, 0 used. 932920 avail Mem&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;3 root 20 0 0 0 0 R&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="text-decoration: underline; color: #000000; font-size: 14px;"&gt;&lt;STRONG&gt;76.7 0.0 1:33.28 KSOFTIRQD/0&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;673 root 20 0 0 0 0 S 0.3 0.0 0:00.78 kworker/0:1&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;674 root 20 0 6524 2632 2200 R 0.3 0.3 0:00.90 top&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;Using&amp;nbsp;cat /proc/interrupts i understand hw interrupts only go to core 0 and only from queue 2:&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;CPU0 CPU1&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;59: 0 0 GPCV2 118 Edge 30be0000.ethernet&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;60: 0 0 GPCV2 119 Edge 30be0000.ethernet&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;STRONG style="color: #000000; text-decoration: underline; font-size: 14px;"&gt;61: 32429 0 GPCV2 120 Edge 30be0000.ethernet&lt;/STRONG&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;62: 31 0 GPCV2 42 Edge 30b20000.usb&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;63: 0 0 GPCV2 100 Edge 30bf0000.ethernet&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;64: 0 0 GPCV2 101 Edge 30bf0000.ethernet&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="text-decoration: underline; color: #000000; font-size: 14px;"&gt;&lt;STRONG&gt;65: 276862 0 GPCV2 102 Edge 30bf0000.ethernet&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;.&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;Using&amp;nbsp;perf_4.15 report i found the must of the time is spent on "fec_enet_rx_napi"&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;Samples: 20K of event 'cpu-clock', Event count (approx.): 5173250000&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;Overhead Command Shared Object Symbol&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;34.42% swapper [kernel.kallsyms] [k] cpuidle_enter_state&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="text-decoration: underline; color: #000000; font-size: 14px;"&gt;&lt;STRONG&gt;14.64% ksoftirqd/0 [kernel.kallsyms] [k] fec_enet_rx_napi&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;4.41% ksoftirqd/0 [kernel.kallsyms] [k] fec_enet_start_xmit&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;Using&amp;nbsp;perf_4.15 sched latency you see the must of the time is spent ksoftirq instead of kworker:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;-------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;Task | Runtime ms | Switches | Average delay ms | Maximum&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;-------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="text-decoration: underline; color: #000000; font-size: 14px;"&gt;&lt;STRONG&gt;kworker/0:1:673 | 26.999 ms | 65 | avg: 0.518 ms | max:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;kworker/u4:0:6 | 0.443 ms | 3 | avg: 0.181 ms | max:&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;kworker/0:0:1346 | 0.166 ms | 3 | avg: 0.145 ms | max:&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;jbd2/mmcblk2p2-:113 | 0.473 ms | 3 | avg: 0.034 ms | max:&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;kthreadd:(2) | 0.200 ms | 5 | avg: 0.024 ms | max:&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;rcu_preempt:7 | 0.175 ms | 6 | avg: 0.018 ms | max:&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;kworker/1:1:1367 | 1.532 ms | 63 | avg: 0.017 ms | max:&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="text-decoration: underline; color: #000000; font-size: 14px;"&gt;&lt;STRONG&gt;ksoftirqd/0:3 | 5749.556 ms | 349 | avg: 0.016 ms | max:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;mmcqd/2:100 | 2.472 ms | 6 | avg: 0.016 ms | max:&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;perf_4.15:1371 | 2.953 ms | 1 | avg: 0.014 ms | max:&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;ksoftirqd/1:15 | 0.073 ms | 3 | avg: 0.012 ms | max:&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;kworker/1:1H:112 | 0.054 ms | 2 | avg: 0.010 ms | max:&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;kworker/1:3:693 | 0.207 ms | 4 | avg: 0.004 ms | max:&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;-------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;TOTAL: | 5785.300 ms | 513 |&lt;/SPAN&gt;&lt;BR style="color: #000000; font-size: 14px;" /&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;---------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;The packet drops are identified only in rx section and not in tx&amp;nbsp;section.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;I have set the cpu affinity of the RX and TX queues to 3 so both CPUs handle the softirqs but achieved only 7% of full 1GE rate.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;any other sugesettions?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #fff2f2; font-size: 14px;"&gt;Danny&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 13 May 2018 09:27:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-improve-IMX7-FEC-driver-performance/m-p/746579#M116164</guid>
      <dc:creator>dannyvaiselberg</dc:creator>
      <dc:date>2018-05-13T09:27:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to improve IMX7 FEC driver performance</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-improve-IMX7-FEC-driver-performance/m-p/746580#M116165</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The issue you describe is not the known one.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What i.MX7D-based hardware do you use? Is it the i.MX7D SABRE SD board by NXP or your own custom hardware? What Linux package/build do you use? Is it the L4.1.15 BSP by NXP or some custom build? Does the issue occur only with short (64 bytes) packets or with larger packets too?&lt;/P&gt;&lt;P&gt;Please specify.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Artur&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 May 2018 06:24:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-improve-IMX7-FEC-driver-performance/m-p/746580#M116165</guid>
      <dc:creator>art</dc:creator>
      <dc:date>2018-05-30T06:24:04Z</dc:date>
    </item>
    <item>
      <title>Re: How to improve IMX7 FEC driver performance</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-improve-IMX7-FEC-driver-performance/m-p/746581#M116166</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Artur,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using NXP IMX7D chip with Compulab CL-SOM-iMX7 SOM together with custom board design in house or with their evaluation board, same performance issue with L4.1.15 and with L4.9.11. Linux system details are available at &lt;A data-saferedirecturl="https://www.google.com/url?hl=en&amp;amp;q=http://www.compulab.com/wp-content/uploads/2018/03/cl-som-imx7_linux_2018-03-27.zip&amp;amp;source=gmail&amp;amp;ust=1527852691993000&amp;amp;usg=AFQjCNGKwPlwx5VbB51ShKOodRAnNNJa_w" href="http://www.compulab.com/wp-content/uploads/2018/03/cl-som-imx7_linux_2018-03-27.zip" style="color: #1155cc;" target="_blank"&gt;http://www.compulab.com/wp-content/uploads/2018/03/cl-som-imx7_linux_2018-03-27.zip&lt;/A&gt;&lt;/P&gt;&lt;P&gt;As the MAC is internal to chip and only external PHY (AR8033) is added&amp;nbsp; I really think it is bottom half of chip driver (FEC) is not optimized for performance. the PPS (packet per second) with short packets and for the long packets is about the same.&lt;/P&gt;&lt;P&gt;As in a standard network there are many short (&amp;lt;100B) packets the short packet performance is of an issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Danny&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 May 2018 15:02:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-improve-IMX7-FEC-driver-performance/m-p/746581#M116166</guid>
      <dc:creator>dannyvaiselberg</dc:creator>
      <dc:date>2018-05-31T15:02:12Z</dc:date>
    </item>
    <item>
      <title>Re: How to improve IMX7 FEC driver performance</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-improve-IMX7-FEC-driver-performance/m-p/746582#M116167</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Artur,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Finally i got my hands on&amp;nbsp;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;i.MX7D SABRE SD board by NXP with&amp;nbsp;L4.1.15 BSP by NXP&amp;nbsp;and redo the iperf test with the build-in&amp;nbsp;iperf function, as expected the results are the same: very low performance&amp;nbsp;with short (64 bytes) UDP packets.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;please see results below:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;root@imx7dsabresd:~# iperf -c 10.0.0.177 -l64 -u -b35M&lt;BR /&gt;------------------------------------------------------------&lt;BR /&gt;Client connecting to 10.0.0.177, UDP port 5001&lt;BR /&gt;Sending 64 byte datagrams&lt;BR /&gt;UDP buffer size: 160 KByte (default)&lt;BR /&gt;------------------------------------------------------------&lt;BR /&gt;[ 3] local 10.0.0.170 port 37709 connected with 10.0.0.177 port 5001&lt;BR /&gt;[ ID] Interval Transfer Bandwidth&lt;BR /&gt;[ 3] 0.0-10.0 sec 41.2 MBytes 34.6 Mbits/sec&lt;BR /&gt;[ 3] Sent 675597 datagrams&lt;BR /&gt;[ 3] Server Report:&lt;BR /&gt;[ 3] 0.0- 9.9 sec 41.2 MBytes 34.7 Mbits/sec 0.010 ms 1188/675596 (0.18%)&lt;BR /&gt;[ 3] 0.0- 9.9 sec 1 datagrams received out-of-order&lt;BR /&gt;root@imx7dsabresd:~# iperf -c 10.0.0.177 -l64 -u -b40M&lt;BR /&gt;------------------------------------------------------------&lt;BR /&gt;Client connecting to 10.0.0.177, UDP port 5001&lt;BR /&gt;Sending 64 byte datagrams&lt;BR /&gt;UDP buffer size: 160 KByte (default)&lt;BR /&gt;------------------------------------------------------------&lt;BR /&gt;[ 3] local 10.0.0.170 port 45928 connected with 10.0.0.177 port 5001&lt;BR /&gt;[ ID] Interval Transfer Bandwidth&lt;BR /&gt;[ 3] 0.0-10.0 sec 41.5 MBytes 34.8 Mbits/sec&lt;BR /&gt;[ 3] Sent 680648 datagrams&lt;BR /&gt;[ 3] Server Report:&lt;BR /&gt;[ 3] 0.0- 9.9 sec 41.5 MBytes 35.0 Mbits/sec 0.012 ms 1215/680647 (0.18%)&lt;BR /&gt;[ 3] 0.0- 9.9 sec 1 datagrams received out-of-order&lt;BR /&gt;root@imx7dsabresd:~# iperf -c 10.0.0.177 -l64 -u -b40M&lt;BR /&gt;------------------------------------------------------------&lt;BR /&gt;Client connecting to 10.0.0.177, UDP port 5001&lt;BR /&gt;Sending 64 byte datagrams&lt;BR /&gt;UDP buffer size: 160 KByte (default)&lt;BR /&gt;------------------------------------------------------------&lt;BR /&gt;[ 3] local 10.0.0.170 port 38370 connected with 10.0.0.177 port 5001&lt;BR /&gt;[ ID] Interval Transfer Bandwidth&lt;BR /&gt;[ 3] 0.0-10.0 sec 41.5 MBytes 34.8 Mbits/sec&lt;BR /&gt;[ 3] Sent 679122 datagrams&lt;BR /&gt;[ 3] Server Report:&lt;BR /&gt;[ 3] 0.0-10.0 sec 41.1 MBytes 34.5 Mbits/sec 0.018 ms 6124/679121 (0.9%)&lt;BR /&gt;[ 3] 0.0-10.0 sec 1 datagrams received out-of-order&lt;BR /&gt;root@imx7dsabresd:~# iperf -v&lt;BR /&gt;iperf version 2.0.5 (08 Jul 2010) pthreads&lt;BR /&gt;root@imx7dsabresd:~# uname -a&lt;BR /&gt;Linux imx7dsabresd 4.1.15-1.2.0+g77f6154 #1 SMP PREEMPT Thu Jun 30 05:39:53 CDT 2016 armv7l GNU/Linux&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jun 2018 11:00:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-improve-IMX7-FEC-driver-performance/m-p/746582#M116167</guid>
      <dc:creator>dannyvaiselberg</dc:creator>
      <dc:date>2018-06-28T11:00:26Z</dc:date>
    </item>
  </channel>
</rss>

