[ovs-dev] [PATCH 0/5] Quicker pmd threads reloads

David Marchand david.marchand at redhat.com
Thu May 23 14:23:47 UTC 2019


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



More information about the dev mailing list