On 2015 Sep 28 (Mon) at 23:53:13 +0200 (+0200), Mark Kettenis wrote: :This diff makes the tx completion path run without the kernel lock :held. With this change, the interrupt handler will not grab the :kernel lock under normal circumstances. The diff follows the same :approach as dlg@ took with vmx(4). : :The diff removes the code that tries to reclaim tx descriptors in :if_start() if we have only EM_TX_CLEANUP_THRESHOLD available :descriptors left. Running tx_eof() in both the normal transmit path :and from the interrupt handler becomes a locking nightmare. : :Seems to survive some serious stress-testing with tcpbench and ping -f :on my x220: : :em0 at pci0 dev 25 function 0 "Intel 82579LM" rev 0x04: msi, address f0:de:f1:70:87:8a : :Could use some further testing of course. : :
Tested on em0 at pci0 dev 25 function 0 "Intel I218-LM" rev 0x03: msi -- If life is a stage, I want some better lighting.
