FastTaskSwitching
From NetBurner Wiki
(From a forum post by Larry Gitlitz) The key to drastically improving interrupt latencies is by using SRAM for ALL running tasks. See the SRAM Performance Guide PDF technical note for more details.
By default all tasks are in SRAM except the idle task. You will want to add the idle task to SRAM otherwise latency will be greater if an interrupt fires during this task. Also add any other extra system task stacks such as http or ftp. Finally make sure any user tasks are also in SRAM.
Timing results may vary among NNDK release but recent testing for the 5282 yielded:
OSTaskSwitch With Semaphore with stacks in SDRAM = 23.04 uS OSTaskSwitch With Semaphore with stacks in SRAM = 7.32 uS Interrupt service latency with stacks in SDRAM = 5uS Interrupt service latency with stacks in SRAM = 2.83uS Non Maskable Interrupt Latency with 1 register push/pop with stacks in SDRAM = 1.06uS Non Maskable Interrupt Latency with 1 register push/pop with stacks in SRAM = 0.51uS
Also keep in mind that as you add stacks to SRAM it will leave less space for network buffers in SRAM. This can reduce speed of network throughput. Even with no free space for network buffers in SRAM you will get more than 18 mbit TCP and 27mbit UDP throughput. This bandwidth can nearly triple when SRAM is optimized for network performance but it sounds like interrupt latency is more important to your application.
A benchmark application from Larry Gitlitz is available. The zip file includes a txt file with results for all platforms, including network tests.