1 /*******************************************************************************
2 * Copyright (c) 2012, 2013 Ericsson
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * Alexandre Montplaisir - Initial API and implementation
11 ******************************************************************************/
13 package org
.eclipse
.tracecompass
.analysis
.os
.linux
.core
.kernelanalysis
;
15 import org
.eclipse
.tracecompass
.statesystem
.core
.statevalue
.ITmfStateValue
;
16 import org
.eclipse
.tracecompass
.statesystem
.core
.statevalue
.TmfStateValue
;
19 * State values that are used in the kernel event handler. It's much better to
20 * use integer values whenever possible, since those take much less space in the
23 * @author Alexandre Montplaisir
25 @SuppressWarnings("javadoc")
26 public interface StateValues
{
29 static final int CPU_STATUS_IDLE
= 0;
30 static final int CPU_STATUS_RUN_USERMODE
= 1;
31 static final int CPU_STATUS_RUN_SYSCALL
= 2;
32 static final int CPU_STATUS_IRQ
= 3;
33 static final int CPU_STATUS_SOFTIRQ
= 4;
35 static final ITmfStateValue CPU_STATUS_IDLE_VALUE
= TmfStateValue
.newValueInt(CPU_STATUS_IDLE
);
36 static final ITmfStateValue CPU_STATUS_RUN_USERMODE_VALUE
= TmfStateValue
.newValueInt(CPU_STATUS_RUN_USERMODE
);
37 static final ITmfStateValue CPU_STATUS_RUN_SYSCALL_VALUE
= TmfStateValue
.newValueInt(CPU_STATUS_RUN_SYSCALL
);
38 static final ITmfStateValue CPU_STATUS_IRQ_VALUE
= TmfStateValue
.newValueInt(CPU_STATUS_IRQ
);
39 static final ITmfStateValue CPU_STATUS_SOFTIRQ_VALUE
= TmfStateValue
.newValueInt(CPU_STATUS_SOFTIRQ
);
42 static final int PROCESS_STATUS_UNKNOWN
= 0;
43 static final int PROCESS_STATUS_WAIT_BLOCKED
= 1;
44 static final int PROCESS_STATUS_RUN_USERMODE
= 2;
45 static final int PROCESS_STATUS_RUN_SYSCALL
= 3;
46 static final int PROCESS_STATUS_INTERRUPTED
= 4;
47 static final int PROCESS_STATUS_WAIT_FOR_CPU
= 5;
49 static final ITmfStateValue PROCESS_STATUS_UNKNOWN_VALUE
= TmfStateValue
.newValueInt(PROCESS_STATUS_UNKNOWN
);
50 static final ITmfStateValue PROCESS_STATUS_WAIT_BLOCKED_VALUE
= TmfStateValue
.newValueInt(PROCESS_STATUS_WAIT_BLOCKED
);
51 static final ITmfStateValue PROCESS_STATUS_RUN_USERMODE_VALUE
= TmfStateValue
.newValueInt(PROCESS_STATUS_RUN_USERMODE
);
52 static final ITmfStateValue PROCESS_STATUS_RUN_SYSCALL_VALUE
= TmfStateValue
.newValueInt(PROCESS_STATUS_RUN_SYSCALL
);
53 static final ITmfStateValue PROCESS_STATUS_INTERRUPTED_VALUE
= TmfStateValue
.newValueInt(PROCESS_STATUS_INTERRUPTED
);
54 static final ITmfStateValue PROCESS_STATUS_WAIT_FOR_CPU_VALUE
= TmfStateValue
.newValueInt(PROCESS_STATUS_WAIT_FOR_CPU
);
56 /* SoftIRQ-specific stuff. -1: null/disabled, >= 0: running on that CPU */
57 static final int SOFT_IRQ_RAISED
= -2;
59 static final ITmfStateValue SOFT_IRQ_RAISED_VALUE
= TmfStateValue
.newValueInt(SOFT_IRQ_RAISED
);