We have been testing the rebalance code in different situations while having traffic going through OVS. Those tests have shown that part of the observed packets losses is due to some time wasted in signaling/waiting for the pmd threads to reload their polling configurations.
This series is an attempt at getting pmd threads reloads quicker and more deterministic. Example of number of cycles spent by a pmd between two polling configurations (in cycles minimum/average/maximum of 1000 changes): - d58b59c17c70: 126822/312103/756580 - patch1: 113658/296157/741688 - patch2: 49198/167206/466108 - patch3: 13032/120730/341163 - patch4: 12803/112964/323455 - patch5: 13633/ 20373/ 47410 Changelog since RFC v2: - added ack from Eelco - Changelog since RFC v1: - added numbers per patch in cover letter - added memory ordering for explicit synchronisations between threads in patch 1 and patch 2 -- David Marchand David Marchand (5): dpif-netdev: Convert exit latch to flag. dpif-netdev: Trigger parallel pmd reloads. dpif-netdev: Do not sleep when swapping queues. dpif-netdev: Only reload static tx qid when needed. dpif-netdev: Catch reloads faster. lib/dpif-netdev.c | 132 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 100 insertions(+), 32 deletions(-) -- 1.8.3.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev