dpif-netdev: Remove PMD latency on seq_mutex
authorFlavio Leitner <fbl@redhat.com>
Tue, 5 Jul 2016 13:33:38 +0000 (10:33 -0300)
committerDaniele Di Proietto <diproiettod@vmware.com>
Fri, 8 Jul 2016 23:17:20 +0000 (16:17 -0700)
commit9dede5cff553d7c4e074f04c525c1417eb209363
tree1493e6215ac33c73b043288ff0e47f65399ddde3
parentd66e4a5e7e10ae25383c1f966a4e103e801912f8
dpif-netdev: Remove PMD latency on seq_mutex

The PMD thread needs to keep processing RX queues in order
to achieve maximum throughput. It also needs to sweep emc
cache and quiesce which use seq_mutex. That mutex can
eventually block the PMD thread causing latency spikes and
affecting the throughput.

Since there is no requirement for running those tasks at a
specific time, this patch extend seq API to allow tentative
locking instead.

Reported-by: Karl Rister <krister@redhat.com>
Co-authored-by: Karl Rister <krister@redhat.com>
Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
lib/dpif-netdev.c
lib/ovs-rcu.c
lib/ovs-rcu.h
lib/seq.c
lib/seq.h