From c883b4e804ee8cbb89a47e425bef76bd2bf6107b Mon Sep 17 00:00:00 2001 From: Jarno Rajahalme Date: Tue, 8 Dec 2015 11:35:49 -0800 Subject: [PATCH] seq: Add a coverage counter for seq_change. Having a coverage counter tracking the value of the internal seq_next should help in debugging. Suggested-by: Justin Pettit Signed-off-by: Jarno Rajahalme Acked-by: Ben Pfaff --- lib/seq.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/seq.c b/lib/seq.c index 271e617a1..9c3257c87 100644 --- a/lib/seq.c +++ b/lib/seq.c @@ -20,6 +20,7 @@ #include +#include "coverage.h" #include "hash.h" #include "hmap.h" #include "latch.h" @@ -27,6 +28,8 @@ #include "ovs-thread.h" #include "poll-loop.h" +COVERAGE_DEFINE(seq_change); + /* A sequence number object. */ struct seq { uint64_t value OVS_GUARDED; @@ -74,6 +77,9 @@ seq_create(void) seq_init(); seq = xmalloc(sizeof *seq); + + COVERAGE_INC(seq_change); + ovs_mutex_lock(&seq_mutex); seq->value = seq_next++; hmap_init(&seq->waiters); @@ -100,6 +106,8 @@ void seq_change(struct seq *seq) OVS_EXCLUDED(seq_mutex) { + COVERAGE_INC(seq_change); + ovs_mutex_lock(&seq_mutex); seq->value = seq_next++; seq_wake_waiters(seq);