From 02993d575d156a0d50a6f3ed422e942850a3560b Mon Sep 17 00:00:00 2001 From: Francis Giraldeau Date: Thu, 15 Oct 2015 10:51:27 -0400 Subject: [PATCH] Add linux softirq ids The SoftIRQs are pretty much cast in stone on linux. This patch adds the definition, as they are found in the softirq_entry event and vec field. Change-Id: If4b3931d777eda540e3f2090939cd59ecd8d1643 Signed-off-by: Francis Giraldeau Reviewed-on: https://git.eclipse.org/r/58256 Reviewed-by: Matthew Khouzam Tested-by: Matthew Khouzam Reviewed-by: Hudson CI --- .../core/kernelanalysis/LinuxValues.java | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernelanalysis/LinuxValues.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernelanalysis/LinuxValues.java index e78989418d..9b38e1a009 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernelanalysis/LinuxValues.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/internal/analysis/os/linux/core/kernelanalysis/LinuxValues.java @@ -89,4 +89,57 @@ public interface LinuxValues { /** Task is initially blocked */ int STATEDUMP_PROCESS_STATUS_WAIT = 5; + + /** + * SoftIRQ definitions + * + * From linux/interrupt.h + *
+     * enum
+     * {
+     *     HI_SOFTIRQ=0,
+     *     TIMER_SOFTIRQ,
+     *     NET_TX_SOFTIRQ,
+     *     NET_RX_SOFTIRQ,
+     *     BLOCK_SOFTIRQ,
+     *     BLOCK_IOPOLL_SOFTIRQ,
+     *     TASKLET_SOFTIRQ,
+     *     SCHED_SOFTIRQ,
+     *     HRTIMER_SOFTIRQ,
+     *     RCU_SOFTIRQ,
+     *     NR_SOFTIRQS // not used as this is the NUMBER of softirqs
+     * };
+     * 
+ */ + + /** High-priority tasklet */ + int SOFTIRQ_HI = 0; + + /** Interrupted because of timer */ + int SOFTIRQ_TIMER = 1; + + /** Interrupted because of network transmission */ + int SOFTIRQ_NET_TX = 2; + + /** Interrupted because of network reception */ + int SOFTIRQ_NET_RX = 3; + + /** Interrupted because of block operation */ + int SOFTIRQ_BLOCK = 4; + + /** Interrupted because of block IO */ + int SOFTIRQ_BLOCK_IOPOLL = 5; + + /** Tasklet (differed device interrupt) */ + int SOFTIRQ_TASKLET = 6; + + /** Interrupted because of the scheduler */ + int SOFTIRQ_SCHED = 7; + + /** Interrupted because of HR timer */ + int SOFTIRQ_HRTIMER = 8; + + /** Interrupted because of RCU */ + int SOFTIRQ_RCU = 9; + } -- 2.34.1