summaryrefslogtreecommitdiffstats
path: root/VNFs/DPPD-PROX/handle_irq.h
diff options
context:
space:
mode:
authorDeepak S <deepak.s@linux.intel.com>2018-01-25 14:50:45 +0000
committerGerrit Code Review <gerrit@opnfv.org>2018-01-25 14:50:45 +0000
commit6a9be5e7db6445f0a144d8f51d4afc8eb40ceaac (patch)
tree296e8c276350887bc11df968f3bf9710ddcf827d /VNFs/DPPD-PROX/handle_irq.h
parent442501d625b6d05f38267d442fd4e42f6cebef7d (diff)
parentab933e9fd74d5a4e20eeb30e3fab3977e98b8743 (diff)
Merge "Integrate irq mode into PROX (support display and command line)"
Diffstat (limited to 'VNFs/DPPD-PROX/handle_irq.h')
-rw-r--r--VNFs/DPPD-PROX/handle_irq.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/VNFs/DPPD-PROX/handle_irq.h b/VNFs/DPPD-PROX/handle_irq.h
index 784bf0d6..2399c8d0 100644
--- a/VNFs/DPPD-PROX/handle_irq.h
+++ b/VNFs/DPPD-PROX/handle_irq.h
@@ -17,7 +17,35 @@
#ifndef _HANDLE_IRQ_H_
#define _HANDLE_IRQ_H_
-struct task_irq;
+#include "task_base.h"
+#include "stats_irq.h"
+
+#define MAX_INDEX 65535 * 16
+
+struct irq_info {
+ uint64_t tsc;
+ uint64_t lat;
+};
+
+struct irq_bucket {
+ uint64_t index;
+ struct irq_info info[MAX_INDEX];
+};
+
+struct task_irq {
+ struct task_base base;
+ uint64_t start_tsc;
+ uint64_t first_tsc;
+ uint64_t tsc;
+ uint64_t max_irq;
+ uint8_t lcore_id;
+ uint8_t irq_debug;
+ volatile uint16_t stats_use_lt; /* which lt to use, */
+ volatile uint16_t task_use_lt; /* 0 or 1 depending on which of the 2 result records are used */
+ struct irq_bucket buffer[2];
+ struct irq_rt_stats stats;
+};
+
struct input;
void task_irq_show_stats(struct task_irq *task_irq, struct input *input);