Under heavy network loads, Nucleus NET increases the systems interrupt latency

Discussion created by dan_schiro on Aug 6, 2012

This is due to the fact that Nucleus NET must disable interrupts to prevent corruption of the buffer  lists.  Both NET and the Ethernet drivers enqueue and dequeue  NET chain buffers.  The Ethernet driver does this inside it's ISR  routines.  Since the ISR takes precedence, it could run while NET is in a  critical section of code and corrupt the buffer lists.  Nucleus PLUS only has routines for disabling interrupts at a global level, however, a user could write a routine that only locks out interrupts for the networking devices on the system and replace all calls to disable interrupts with thier own routine to optimize the interrupt latency.