summaryrefslogtreecommitdiffstats
path: root/pcitool
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@suren.me>2015-04-30 20:18:57 +0200
committerSuren A. Chilingaryan <csa@suren.me>2015-04-30 20:18:57 +0200
commitccc34fa5ecea32517b72ebc01aca8f02295105fe (patch)
treec987f03fbdc76d0f264ed7d716ca9b046738fdb3 /pcitool
parent8da61292f595c5e700a4fef981b0e0d07910b4b2 (diff)
downloadpcitool-ccc34fa5ecea32517b72ebc01aca8f02295105fe.tar.gz
pcitool-ccc34fa5ecea32517b72ebc01aca8f02295105fe.tar.bz2
pcitool-ccc34fa5ecea32517b72ebc01aca8f02295105fe.tar.xz
pcitool-ccc34fa5ecea32517b72ebc01aca8f02295105fe.zip
Add code to debug missing events while recording
Diffstat (limited to 'pcitool')
-rw-r--r--pcitool/cli.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/pcitool/cli.c b/pcitool/cli.c
index b04107b..a8f1e35 100644
--- a/pcitool/cli.c
+++ b/pcitool/cli.c
@@ -35,6 +35,7 @@
#include "tools.h"
#include "kmem.h"
#include "error.h"
+#include "debug.h"
#include "model.h"
/* defines */
@@ -1294,8 +1295,14 @@ int GrabCallback(pcilib_event_id_t event_id, pcilib_event_info_t *info, void *us
ctx->event_pending = 0;
ctx->event_count++;
- if (ctx->last_num)
- ctx->missing_count += (info->seqnum - ctx->last_num) - 1;
+ if (ctx->last_num) {
+ size_t missing_count = (info->seqnum - ctx->last_num) - 1;
+ ctx->missing_count += missing_count;
+#ifdef PCILIB_DEBUG_MISSING_EVENTS
+ if (missing_count)
+ pcilib_debug(MISSING_EVENTS, "%zu missing events between %zu and %zu", missing_count, ctx->last_num, info->seqnum);
+#endif /* PCILIB_DEBUG_MISSING_EVENTS */
+ }
ctx->last_num = info->seqnum;
@@ -1371,8 +1378,15 @@ int raw_data(pcilib_event_id_t event_id, pcilib_event_info_t *info, pcilib_event
}
ctx->event_count++;
- if (ctx->last_num)
- ctx->missing_count += (info->seqnum - ctx->last_num) - 1;
+ if (ctx->last_num) {
+ size_t missing_count = (info->seqnum - ctx->last_num) - 1;
+ ctx->missing_count += missing_count;
+#ifdef PCILIB_DEBUG_MISSING_EVENTS
+ if (missing_count)
+ pcilib_debug(MISSING_EVENTS, "%zu missing events between %zu and %zu", missing_count, ctx->last_num, info->seqnum);
+#endif /* PCILIB_DEBUG_MISSING_EVENTS */
+
+ }
ctx->last_num = info->seqnum;
}