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

Reply via email to