| 34c7d7dd | 29-Mar-2018 |
Imre Vadász <imre@vdsz.com> |
if_vtnet - Add polling support.
* We need to tear down the interrupts, to reliably stop them from firing, when enabling polling. So when disabling polling, we need to hope that we can get all in
if_vtnet - Add polling support.
* We need to tear down the interrupts, to reliably stop them from firing, when enabling polling. So when disabling polling, we need to hope that we can get all interrupts set up again, as before.
* When polling, handle the rx and tx virtqueues on the same cpu.
show more ...
|
| 36ad0f35 | 25-Mar-2018 |
Imre Vadász <imre@vdsz.com> |
if_vtnet - Don't drop vtnet_slz in some of the virtqueue_notify() calls.
* There are several cases where the vtnet_slz serializer is dropped around virtqueue_notify() calls, with the hope that thi
if_vtnet - Don't drop vtnet_slz in some of the virtqueue_notify() calls.
* There are several cases where the vtnet_slz serializer is dropped around virtqueue_notify() calls, with the hope that this allows other cores to run if_vtnet code in parallel.
* In vtnet_exec_ctrl_cmd(), it shouldn't make a significant performance difference, and avoids some theoretical race possibilities.
* In the vtnet_init_rx_vq initialization code, it also is irrelevant for performance, and only complicates things.
* In the vtnet_rxeof() and vtnet_start() cases it might actually be relevant for performance, so we keep those for now. When changing the driver to use the MULTI_SERIALIZERS MODE, the serializer dropping can also be removed in those two cases.
show more ...
|
| af62becb | 25-Mar-2018 |
Imre Vadász <imre@vdsz.com> |
if_vtnet - Remove vtnet_tick_ch and vtnet_cfgchg_task from softc struct.
* Forgot to remove the softc variables in the changes c5f8e1538bcc13f7a39b805bcc5b774780 and 603be9646446bdb4292b6cd2754478
if_vtnet - Remove vtnet_tick_ch and vtnet_cfgchg_task from softc struct.
* Forgot to remove the softc variables in the changes c5f8e1538bcc13f7a39b805bcc5b774780 and 603be9646446bdb4292b6cd27544788c2c.
* Also remove a leftover taskqueue_drain() call.
show more ...
|