On 2 Sep, 2014, at 8:41 pm, Dave Taht wrote: > unfortunately you may need to initialize things correctly with > netdev_reset_queue in the appropriate initialization or > recovery-from-error bits. > > (this is the part that tends to be tricky) I poked around a bit and found that gem_clean_rings() seems to be called from everywhere relevant, including from gem_init_rings() and gem_do_stop(). I was therefore able to add a single call there. I've taken the other suggestion at face value. > Do you have a before/after test result? At gigabit link speeds, there seems to be no measurable difference - the machine just isn't capable of filling the buffer fast enough. I have yet to try it at slower link rates.