Module: xenomai-3 Branch: stable-3.0.x Commit: cfa2c51de424cad65a624311a61767582ad7776e URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=cfa2c51de424cad65a624311a61767582ad7776e
Author: Jan Kiszka <jan.kis...@siemens.com> Date: Fri Jan 26 19:32:00 2018 +0100 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 <jan.kis...@siemens.com> --- kernel/cobalt/intr.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kernel/cobalt/intr.c b/kernel/cobalt/intr.c index 14dc0b3..fb27a32 100644 --- a/kernel/cobalt/intr.c +++ b/kernel/cobalt/intr.c @@ -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) _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git