Commit cfa2c51d authored by Jan Kiszka's avatar Jan Kiszka Committed by Philippe Gerum

cobalt/intr: Move IRQ exit trace point

It can be confusing for people reading a trace when a context switch due
to a wake up in the IRQ handler comes before the handler was left. Move
the exit instrumentation before the schedule, just like we already do in
the clock handler.
Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
parent b4153ea4
......@@ -355,12 +355,12 @@ static void xnintr_vec_handler(unsigned int irq, void *cookie)
out:
xnstat_exectime_switch(sched, prev);
trace_cobalt_irq_exit(irq);
if (--sched->inesting == 0) {
sched->lflags &= ~XNINIRQ;
xnsched_run();
}
trace_cobalt_irq_exit(irq);
}
/*
......@@ -441,12 +441,12 @@ static void xnintr_edge_vec_handler(unsigned int irq, void *cookie)
out:
xnstat_exectime_switch(sched, prev);
trace_cobalt_irq_exit(irq);
if (--sched->inesting == 0) {
sched->lflags &= ~XNINIRQ;
xnsched_run();
}
trace_cobalt_irq_exit(irq);
}
static inline int xnintr_irq_attach(struct xnintr *intr)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment