<?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: g_ncm driver blocks CPU for small USB packets in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521670#M84444</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tao Zheng,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did the same test on the 3.14.52 kernel built with "imx_v7_defconfig" kernel config, in order to be aligned with you.&lt;/P&gt;&lt;P&gt;I can still reproduce the problem using SABRE AUTO board with IMX6Q.&lt;/P&gt;&lt;P&gt;If I set the size of the USB packets to 1800 on my laptop, and I do the iperf test at 100Mb/s the board freezes.&lt;/P&gt;&lt;P&gt;What I mean by board freezes is that I cannot type anything in the serial console until the test is over.&lt;/P&gt;&lt;P&gt;Can you please send me your kernel image to try and see if it works on my SABRE AUTO board?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 26 Jul 2016 11:53:48 GMT</pubDate>
    <dc:creator>sebastianpancea</dc:creator>
    <dc:date>2016-07-26T11:53:48Z</dc:date>
    <item>
      <title>g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521660#M84434</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did some performance tests for the g_ncm driver with the iperf tool.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The tests were done between a board with an IMX6DL SoC + 1GB of RAM and a laptop.&lt;/P&gt;&lt;P&gt;Used kernel version is 3.14.38 and Android L.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I observed that there is a very high CPU load when I set the sent USB packet length of the laptop to 1800 bytes.&lt;/P&gt;&lt;P&gt;In order to execute the test, on the board I run an iperf server:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;~# iperf-armv7 -V -s -u &amp;amp;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and on the laptop I run the the iperf client after I set the packet length to 1800 bytes:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;~# echo 1800 &amp;gt; /sys/class/net/usb0/cdc_ncm/tx_max # this sets the USB packet length over the NCM interface to 1800 bytes&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;~# iperf -V -u -c $(BOARD_IPV6_ADDR)%usb0 -b 50M # this starts the test for 50Mb/s bandwidth&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I run the test with the above commands I can see that on the board the CPU consumption raises much with the following 2 processes:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp; 1321 1 31% S 4 16564K 480K fg root iperf-armv7&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp; 3 0 20% R 1 0K 0K fg root ksoftirqd/0&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I raise the speed of the test to &amp;gt;70Mb/s the board becomes totally unresponsive during the test.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I leave the packet length to default value instead of changing it to 1800, I observed that the length of the sent packets is ~9k bytes and the ksoftirqd isn't trigger anymore and the system behaves better.&lt;/P&gt;&lt;P&gt;I observed the length of the packets with a USB protocol analyzer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is that the board needs to communicate with a phone that sends data over the NCM interface at 50Mb/s and 100Mb/s with the USB packet length being 1500 bytes.&lt;/P&gt;&lt;P&gt;This affects our performance badly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also observed in "/proc/interrupts" that many more USB interrupts are triggered when the package size is 1500 bytes vs. when it is 9000 bytes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does anyone know what could cause this performance problem and if there is any fix for it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 13:33:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521660#M84434</guid>
      <dc:creator>sebastianpancea</dc:creator>
      <dc:date>2016-06-15T13:33:26Z</dc:date>
    </item>
    <item>
      <title>Re: g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521661#M84435</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;Can you test it with 2*imx6 board?&lt;/P&gt;&lt;P&gt;Also, as you know, UDP protocol has max MTU 1500 Bytes Size. So, actually, UDP packet has max 1472Bytes data field. In my opinion, when you set it to 1800, it will decrease UDP performance and then influence the CPU loading.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Jun 2016 02:03:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521661#M84435</guid>
      <dc:creator>tonyzheng</dc:creator>
      <dc:date>2016-06-22T02:03:43Z</dc:date>
    </item>
    <item>
      <title>Re: g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521662#M84436</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tao Zheng,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I give on the laptop the "&lt;EM style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;echo 1800 &amp;gt; /sys/class/net/usb0/cdc_ncm/tx_max" &lt;/EM&gt;command, I modify the size of the USB packets and not the size of the UDP packets.&lt;/P&gt;&lt;P&gt;The size of the UDP packets remains 1448 bytes no mater what value I write in the "tx_max" file.&lt;/P&gt;&lt;P&gt;I checked this by capturing the packets with wireshark.&lt;/P&gt;&lt;P&gt;So, as I was saying the size of the USB packets affects us.&lt;/P&gt;&lt;P&gt;As we increase on the laptop the value of "&lt;EM style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;/sys/class/net/usb0/cdc_ncm/tx_max" &lt;/EM&gt;the USB packets will be bigger and the performance will be better.&lt;/P&gt;&lt;P&gt;Unfortunately we need to have a phone connected to our board that sends USB packets with ~1500 bytes length and the performance is affected badly.&lt;/P&gt;&lt;P&gt;What we are doing is to simulate the behavior of the phone with the laptop by limiting the USB packet length to 1800 bytes and doing the iperf test.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also what do you mean by "&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;2*imx6 board"?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;I have a SABRE SD board at hand and I can use it to do the same test if needed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;I'm pretty sure the results will be the same.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Thank you!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Jun 2016 08:45:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521662#M84436</guid>
      <dc:creator>sebastianpancea</dc:creator>
      <dc:date>2016-06-22T08:45:09Z</dc:date>
    </item>
    <item>
      <title>Re: g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521663#M84437</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Because you are using PC and imx6. So, we can't make sure which end has caused the issue. In my opinion, we can take 2 imx6 boards for testing: one imx6 is client, the other is server.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Jun 2016 02:08:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521663#M84437</guid>
      <dc:creator>tonyzheng</dc:creator>
      <dc:date>2016-06-23T02:08:58Z</dc:date>
    </item>
    <item>
      <title>Re: g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521664#M84438</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tao Zheng,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did the same test between two IMX6 boards.&lt;/P&gt;&lt;P&gt;The kernel version from our IMX6 boards is &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;3.14.38 and you can't set the USB packet size by writing the &lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;EM&gt;/sys/class/net/usb0/cdc_ncm/tx_max &lt;/EM&gt;&lt;/SPAN&gt;file because the file doesn't exist.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;My laptop runs the 3.16.0 kernel version and this file is exposed by the driver.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;In order to force the size of the USB packets on IMX6 board to 1800 I applied the lines bellow:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;diff --git a/drivers/net/usb/cdc_ncm.c b/drivers/net/usb/cdc_ncm.c&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;index 75d7d9d..6cd35de 100644&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;--- a/drivers/net/usb/cdc_ncm.c&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;+++ b/drivers/net/usb/cdc_ncm.c&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;@@ -90,6 +90,7 @@ static int cdc_ncm_setup(struct usbnet *dev)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* read correct set of parameters according to device mode */&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctx-&amp;gt;rx_max = le32_to_cpu(ctx-&amp;gt;ncm_parm.dwNtbInMaxSize);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctx-&amp;gt;ncm_parm.dwNtbOutMaxSize = 1800;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctx-&amp;gt;tx_max = le32_to_cpu(ctx-&amp;gt;ncm_parm.dwNtbOutMaxSize);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctx-&amp;gt;tx_remainder = le16_to_cpu(ctx-&amp;gt;ncm_parm.wNdpOutPayloadRemainder);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctx-&amp;gt;tx_modulus = le16_to_cpu(ctx-&amp;gt;ncm_parm.wNdpOutDivisor);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;I measured with the USB protocol analyzer and indeed the transmitted USB packet size is 1800 bytes during the iperf test between the two IMX6 boards.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;The problem of blocking CPU during the test reproduces between the two IMX6 boards the same way it reproduces between: &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;- phone and board&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;- laptop and board&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This takes us to the conclusion that there is a problem for IMX6 at receiving USB packets of small sizes at big speeds.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Jun 2016 12:22:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521664#M84438</guid>
      <dc:creator>sebastianpancea</dc:creator>
      <dc:date>2016-06-23T12:22:52Z</dc:date>
    </item>
    <item>
      <title>Re: g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521665#M84439</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I will try to reproduce and verify it on my platform next week.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Jul 2016 03:09:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521665#M84439</guid>
      <dc:creator>tonyzheng</dc:creator>
      <dc:date>2016-07-08T03:09:54Z</dc:date>
    </item>
    <item>
      <title>Re: g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521666#M84440</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;iperf -V -s -u -i 5 &amp;amp;&lt;/P&gt;&lt;P&gt;iperf -t 1000000 -V -c fe80::641a:1eff:fe70:6f1b%usb0 -i 5 -u -b 50M&lt;/P&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I found that when bandwidth is 50Mbits/s, the cpu loading is about 12%. Do you think it can't meet your requirement?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Jul 2016 08:19:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521666#M84440</guid>
      <dc:creator>tonyzheng</dc:creator>
      <dc:date>2016-07-21T08:19:06Z</dc:date>
    </item>
    <item>
      <title>Re: g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521667#M84441</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tao Zheng,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As I was saying above we have a phone connected to the device that sends packets at 100Mb/s with the USB packet size of 1500 bytes.&lt;/P&gt;&lt;P&gt;Please retry your test for speeds &amp;gt; 70Mb/s after setting on your computer USB packet size to 1800 bytes with this command:&lt;/P&gt;&lt;P&gt;"&lt;EM style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;echo 1800 &amp;gt; /sys/class/net/usb0/cdc_ncm/tx_max"&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This way you can observe how your IMX board will freeze too.&lt;/P&gt;&lt;P&gt;We are trying to reach the speeds of at least 100Mb/s and USB packet size of 1500 bytes without freezing our board.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Jul 2016 09:31:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521667#M84441</guid>
      <dc:creator>sebastianpancea</dc:creator>
      <dc:date>2016-07-22T09:31:07Z</dc:date>
    </item>
    <item>
      <title>Re: g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521668#M84442</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;My platform is Linux 3.14.52 and&amp;nbsp; imx6q-sabresd.&lt;/P&gt;&lt;P&gt;This is my test steps:&lt;/P&gt;&lt;P&gt;First,&lt;/P&gt;&lt;P&gt;One imx6 is for client, one imx6 is for server, set imx6 g_ncm tx_max to be 1800Bytes as follows:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctx-&amp;gt;ncm_parm.dwNtbOutMaxSize = 1800;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctx-&amp;gt;tx_max = le32_to_cpu(ctx-&amp;gt;ncm_parm.dwNtbOutMaxSize);&lt;/P&gt;&lt;P&gt;Second:&lt;/P&gt;&lt;P&gt;Power on 2 boards and connect them with USB cable, and run commands as follows:&lt;/P&gt;&lt;P&gt;server: iperf -V -s -u -i 5 &amp;amp;&lt;/P&gt;&lt;P&gt;client: iperf -t 1000000 -V -c fe80::481a:5aff:fe56:108a%usb0 -i 5 -u -b &lt;STRONG&gt;100M&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Third:&lt;/P&gt;&lt;P&gt;Run top at the server and you can see the cpu loading as follows:&lt;/P&gt;&lt;P&gt;root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 29888&amp;nbsp;&amp;nbsp;&amp;nbsp; 844&amp;nbsp;&amp;nbsp;&amp;nbsp; 724 S &lt;STRONG&gt; 21.5&lt;/STRONG&gt;&amp;nbsp; 0.1&amp;nbsp;&amp;nbsp; 1:41.30 iperf&lt;/P&gt;&lt;P&gt;It is 21.5%.&lt;/P&gt;&lt;P&gt;I don't find the phenomenon that you have described and it is not freezed.&lt;/P&gt;&lt;P&gt;Do you mean that 21.5% cpu loading can't meet your requirements?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jul 2016 02:31:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521668#M84442</guid>
      <dc:creator>tonyzheng</dc:creator>
      <dc:date>2016-07-25T02:31:35Z</dc:date>
    </item>
    <item>
      <title>Re: g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521669#M84443</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;At 21,5% cpu load it could probably meet our requirements but our board is totally freezing during the test execution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The board we are using has a iMX6DL processor instead of iMX6Q in your case.&lt;/P&gt;&lt;P&gt;I tried to reproduce the problem with a SABRE AUTO board with quad core cpu and I can still reproduce it.&lt;/P&gt;&lt;P&gt;Other differences between our setups are:&lt;/P&gt;&lt;P&gt;- we are using 3.14.38 kernel vs 3.14.52 in your case&lt;/P&gt;&lt;P&gt;- we are building kernel config for android and you are building for linux&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will try to see if I can reproduce it on linux config.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jul 2016 13:29:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521669#M84443</guid>
      <dc:creator>sebastianpancea</dc:creator>
      <dc:date>2016-07-25T13:29:17Z</dc:date>
    </item>
    <item>
      <title>Re: g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521670#M84444</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tao Zheng,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did the same test on the 3.14.52 kernel built with "imx_v7_defconfig" kernel config, in order to be aligned with you.&lt;/P&gt;&lt;P&gt;I can still reproduce the problem using SABRE AUTO board with IMX6Q.&lt;/P&gt;&lt;P&gt;If I set the size of the USB packets to 1800 on my laptop, and I do the iperf test at 100Mb/s the board freezes.&lt;/P&gt;&lt;P&gt;What I mean by board freezes is that I cannot type anything in the serial console until the test is over.&lt;/P&gt;&lt;P&gt;Can you please send me your kernel image to try and see if it works on my SABRE AUTO board?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jul 2016 11:53:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521670#M84444</guid>
      <dc:creator>sebastianpancea</dc:creator>
      <dc:date>2016-07-26T11:53:48Z</dc:date>
    </item>
    <item>
      <title>Re: g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521671#M84445</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;server cpu loading: 21.5%&lt;/P&gt;&lt;P&gt;client cpu loading: 65%&lt;/P&gt;&lt;P&gt;( server and client are all imx6 platform)&lt;/P&gt;&lt;P&gt;But there is no freeze phenomenon.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Jul 2016 01:48:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521671#M84445</guid>
      <dc:creator>tonyzheng</dc:creator>
      <dc:date>2016-07-27T01:48:00Z</dc:date>
    </item>
    <item>
      <title>Re: g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521672#M84446</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 tested with your kernel between two imx6 boards:&lt;/P&gt;&lt;P&gt;- server on SABRE AUTO with IMX6Q&lt;/P&gt;&lt;P&gt;- client on SABRE SD with IMX6DL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can still reproduce the freeze problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On the server during the test run, don't run the top application.&lt;/P&gt;&lt;P&gt;Just try to type characters in the console during test run.&lt;/P&gt;&lt;P&gt;On my board, the characters that you type in the console don't appear.&lt;/P&gt;&lt;P&gt;After the test is finished the typed characters will appear in the console.&lt;/P&gt;&lt;P&gt;If you type them quick you can also get an error like this one:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;"imx-uart 21f0000.serial: Rx FIFO overrun"&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;This is what I mean by board freeze.&lt;/P&gt;&lt;P&gt;Can you please try and reproduce this behavior?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Jul 2016 12:54:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521672#M84446</guid>
      <dc:creator>sebastianpancea</dc:creator>
      <dc:date>2016-07-27T12:54:39Z</dc:date>
    </item>
    <item>
      <title>Re: g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521673#M84447</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;sorry. I can't reproduce your phenomeon. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jul 2016 07:06:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521673#M84447</guid>
      <dc:creator>tonyzheng</dc:creator>
      <dc:date>2016-07-28T07:06:36Z</dc:date>
    </item>
    <item>
      <title>Re: g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521674#M84448</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Sock&lt;/P&gt;&lt;P&gt;I can't download your file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Error 102: Can not get information about the file keyword: mjiq5986A&lt;/P&gt;&lt;P&gt;Error -507: You are not authorized to access data with personal secure keyword 'mjiq5986A'.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Aug 2016 05:56:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521674#M84448</guid>
      <dc:creator>tonyzheng</dc:creator>
      <dc:date>2016-08-11T05:56:54Z</dc:date>
    </item>
    <item>
      <title>Re: g_ncm driver blocks CPU for small USB packets</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521675#M84449</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Sock&lt;/P&gt;&lt;P&gt;Can you reproduce it on your platform?&lt;/P&gt;&lt;P&gt;In addition, it seems it is not usb issue, but uart issue. The USB transaction has occupied too much bandwidth and lead to less bandwidth for uart. Can you help customer to reproduce it on our reference board? Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Aug 2016 08:23:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/g-ncm-driver-blocks-CPU-for-small-USB-packets/m-p/521675#M84449</guid>
      <dc:creator>tonyzheng</dc:creator>
      <dc:date>2016-08-29T08:23:04Z</dc:date>
    </item>
  </channel>
</rss>

