adamfeuer opened a new pull request #372: SAMA5 GMAC driver improvements: prevent txtimeout from always firing and fix txbuffer leak during high-volume sends URL: https://github.com/apache/incubator-nuttx/pull/372 ### Summary * SAMA5 GMAC gigabit ethernet driver improvements: * prevent GMAC txtimeout from always firing * fix txbuffer leak during high-volume sends * may not completely fix GMAC driver hang under extreme conditions, more testing is needed ### Impact * None if you don't use the SAMA5 GMAC gigabit ethernet driver. * SAMA5 GMAC users will notice the driver won't crash as quickly at high volume send rates with large packet sizes. * I'm still not confident this completely solves all issues, but it definitely improves things. ### Limitations / TODO * More testing under extreme conditions (high-volume TCP sends with large send sizes) is necessary. * The SAMA5 EMAC 10/100 ethernet driver may also have the txtimeout problem, this PR does not fix it. ### Detail * txbuffer leak seems to be caused by the DMA driver sending multiple packets at once during high volume sends. This should not happen, but seems to imply some kind of race condition, since it occurs only under extreme conditions and not at regular intervals. The code partially fixes it. * Race conditions or resource depletion still causes NuttX to crash occasionally under extreme conditions. ### Testing * Manual, using tcpblaster and a [custom Python tcpecho client](https://github.com/adamfeuer/echotools) that allows testing of many different TCP send scenarios. ### How To Verify * Run tcpblaster * Run tcpecho and use the above Python client to test various TCP send sizes and frequencies
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
