diff options
author | 2018-01-25 14:50:45 +0000 | |
---|---|---|
committer | 2018-01-25 14:50:45 +0000 | |
commit | 6a9be5e7db6445f0a144d8f51d4afc8eb40ceaac (patch) | |
tree | 296e8c276350887bc11df968f3bf9710ddcf827d /VNFs/DPPD-PROX/handle_irq.h | |
parent | 442501d625b6d05f38267d442fd4e42f6cebef7d (diff) | |
parent | ab933e9fd74d5a4e20eeb30e3fab3977e98b8743 (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.h | 30 |
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); |