Home Blogs Bad Ethernet driver performance based on polling in RedBoot

Bad Ethernet driver performance based on polling in RedBoot

E-mail Print PDF

We've encountered a very bad performance of Ethernet driver working under RedBoot eCos bootloader. The device was dropping packets on downstream traffic of 200kbps with 50Mbps expectation.

After some investigation we’ve found the cause – too big timeout set in CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT configutaion option.

The thing is that in Redboot serial and Ethernet drivers are base on polling mechanism (not interrupts). CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT defines the RedBoot command processing interval. After this timeout expires (no traffic), RedBoot assumes the command console is idle and performs various background tasks (for instance – handles ethernet traffic). The default value for this option is 10 milliseconds (in our case it was 1 second!).

 

Last Updated ( Tuesday, 14 December 2010 16:12 )