summaryrefslogtreecommitdiff
path: root/ofproto
diff options
context:
space:
mode:
authorJoe Stringer <joe@ovn.org>2017-01-10 15:54:03 -0800
committerJoe Stringer <joe@ovn.org>2017-01-11 14:33:58 -0800
commit353fe1e149c631a35f1142fcb97f7d7edcd4c448 (patch)
treee6b44c046df11b8fd4c8c6a42dd1d9af1e7c6944 /ofproto
parent154781666492011beacbc5d3822825ee163bc1e1 (diff)
downloadopenvswitch-353fe1e149c631a35f1142fcb97f7d7edcd4c448.tar.gz
revalidator: Complain for more ukey transitions.
For most ukey transition states, only one thread should be responsible for transitioning the ukey into the new state. If another thread attempts to transition the ukey into the same state (for instance, evicting the datapath flow or deleting the ukey), then it is likely performing additional work which should only happen once. Log all cases of ukey transition into the current state, except for UKEY_OPERATIONAL -> UKEY_OPERATIONAL which regularly occurs when revalidating ukeys. Signed-off-by: Joe Stringer <joe@ovn.org> Acked-by: Jarno Rajahalme <jarno@ovn.org>
Diffstat (limited to 'ofproto')
-rw-r--r--ofproto/ofproto-dpif-upcall.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c
index 1ffeaabf7..660383fae 100644
--- a/ofproto/ofproto-dpif-upcall.c
+++ b/ofproto/ofproto-dpif-upcall.c
@@ -1672,7 +1672,7 @@ transition_ukey(struct udpif_key *ukey, enum ukey_state dst)
OVS_REQUIRES(ukey->mutex)
{
ovs_assert(dst >= ukey->state);
- if (ukey->state == dst) {
+ if (ukey->state == dst && dst == UKEY_OPERATIONAL) {
return;
}