LTTV_CPU_IDLE,
LTTV_CPU_BUSY,
LTTV_CPU_IRQ,
+ LTTV_CPU_SOFT_IRQ,
LTTV_CPU_TRAP;
LttvIRQMode
static LttvSoftIRQState *lttv_state_copy_soft_irq_states(LttvSoftIRQState *states, guint n)
{
- guint i,j;
+ guint i;
LttvSoftIRQState *retval;
retval = g_malloc(n*sizeof(LttvSoftIRQState));
return retval;
}
-static void lttv_state_free_soft_irq_states(LttvIRQState *states, guint n)
+static void lttv_state_free_soft_irq_states(LttvSoftIRQState *states, guint n)
{
g_free(states);
}
}
/* save the soft irq state */
- nb_irqs = self->nb_irqs;
+ nb_soft_irqs = self->nb_soft_irqs;
{
value = lttv_attribute_add(container, LTTV_STATE_RESOURCE_SOFT_IRQS,
LTTV_POINTER);
- *(value.v_pointer) = lttv_state_copy_soft_irq_states(self->soft_irq_states, nb_irqs);
+ *(value.v_pointer) = lttv_state_copy_soft_irq_states(self->soft_irq_states, nb_soft_irqs);
}
/* save the blkdev states */
if(ts->soft_irq_states[softirq].running)
ts->soft_irq_states[softirq].running--;
+ /* update cpu status */
+ cpu_pop_mode(s->cpu_state);
+
return FALSE;
}
/* Do something with the info about being in user or system mode when int? */
push_state(s, LTTV_STATE_SOFT_IRQ, submode);
+ /* update cpu status */
+ cpu_push_mode(s->cpu_state, LTTV_CPU_SOFT_IRQ);
+
/* update softirq status */
s->cpu_state->last_soft_irq = softirq;
ts->soft_irq_states[softirq].running++;
LTTV_CPU_IDLE = g_quark_from_string("idle");
LTTV_CPU_BUSY = g_quark_from_string("busy");
LTTV_CPU_IRQ = g_quark_from_string("irq");
+ LTTV_CPU_SOFT_IRQ = g_quark_from_string("softirq");
LTTV_CPU_TRAP = g_quark_from_string("trap");
LTTV_IRQ_UNKNOWN = g_quark_from_string("unknown");