Philippe Gerum wrote: > On Thu, 2010-06-03 at 16:22 +0200, Jan Kiszka wrote: >> From: Jan Kiszka <[email protected]> >> >> Implement the x86 arch bits for ipipe_get_irq_regs support. This allows >> to drop __ipipe_tick_regs and use the new service instead. > > I'm unsure whether this patch would actually replace __ipipe_tick_regs > properly, particularly regarding how the profiling code works.
tick_regs are a "workaround", this approach appears to me way closer to how native works. > > But I'm now convinced that we are on the wrong track, with trying to > track the IRQ frame, for the purpose we discussed on the Xenomai mailing > list. In fact, Gilles already told us about the best approach, we did > not pay attention enough, though: > https://mail.gna.org/public/xenomai-help/2010-06/msg00033.html > > Basically, we want to get a hold of the register frame of a task context > before it returns to user-space, so that we can do some fixups. > Therefore, the best option is clearly to add a special event, that the > pipeline would dispatch upon request, when: > > - __ipipe_grab/handle_irq is about to return to userland > - __ipipe_syscall_root is about to do the same > > In those contexts, we do have the _real_ register frame for the context, > which removes the restriction on faked IRQ frames induced by the > deferred interrupt model. The register frame is incomplete, but it is very real. It is what you get when an interrupt fires right after the kernel re-enabled IRQ delivery. > We could then use that feature, not only for > having a more graceful watchdog, but for allowing Xenomai's real-time > signals to preempt syscall-less code as well. > > I worked on this lately, and eventually coupled that event to a > generalized support for forcing userland to run a kernel exit. I'll post > more info to the Xenomai list. That said, I'm not opposed to some kind of "I-pipe user space return notifiers", specifically as they will include the syscall path. Maybe we can still save bits of this approach to overcome the tick_regs and related patches of the profiling code. Jan
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Adeos-main mailing list [email protected] https://mail.gna.org/listinfo/adeos-main
