Hi, On Mon, 16 May 2016 08:58:32 +0300, sam...@daynix.com wrote: > This means that on a real hardware when mit_delay==0 ( don't use the timer > ) the Ethernet controller guarantees a maximum > observable interrupt rate of 7813 interrupts/sec. Unfortunately that isn't > the case in the emulated device and the interrupt > rate bypass the rate of the real hardware which could lead to an interrupt > storm. Setting mit_delay to 500 guarantees a maximum > interrupt rate of 7813 interrupts/sec.
OK, if that is the case, then > > > + mit_delay = (mit_delay < 500) ? 500 : mit_delay; > > > + > > > if (mit_delay) { > > > s->mit_timer_on = 1; > > > timer_mod(s->mit_timer, The existing 'if (mit_delay)' is now superflous, since always true, hence can be removed.