All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai] missing hook callback for task switching after gatekeeper
@ 2017-05-12  8:49 Johann Obermayr
  0 siblings, 0 replies; only message in thread
From: Johann Obermayr @ 2017-05-12  8:49 UTC (permalink / raw)
  To: xenomai

Hello,

Kernel: 3.10.53 ARM
Xenomai: 2.6.4

We have a own tool to make task switching, IRQ, TracePoints, ... visible. (TracePoint is a single marker in our tool )
So we have a hook in the Linux scheduler and we are using rt_task_add_hook(T_HOOK_SWITCH, taskSwitchXenomai)
So we can see all linux / xenomai task switching.
But we are missing one xenomai callback.

We don't see the task switch , that gatekeeper have switch to xenomai, while gatekepper is running.

L-Usertask          UserTask in second domain
X-Usertask         UserTask in primary domain

Now we see follow

L-Usertask is running and call a function to switch to primary domain.
taskSwitchLinux( L-UserTask -> L-gatekeeper )
L-gatekeeper is running
------ >>> missing taskSwitchXenomai( xnthread_t *curr )             curr = UserTask in primary domain
Now we see, a TracePoint from the L-Usertask
taskSwitchXenomai( xnthread_t *curr ) curr = gatekeeper task
taskSwitchLinux( L-gatekeeper -> L-UserTask)

L-UserTask description
UserFunktion
{
                TracePointMake()
                switchToSecondDomain();
                do_something(30us)
                switchToPromariyDomain();
}

L-UserTask
  While(1)
  {
    For(I = 0; I < 10; i++)
       UserFunction();
    Usleep(1000)
  }

I hope it is understandable.

Best regards
  Johann

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-05-12  8:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-12  8:49 [Xenomai] missing hook callback for task switching after gatekeeper Johann Obermayr

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.