[Xenomai] "RT throttling" issue

Gilles Chanteperdrix gilles.chanteperdrix at xenomai.org
Tue Dec 8 12:05:46 CET 2015

On Tue, Dec 08, 2015 at 11:42:32AM +0100, Jochen Behnke wrote:
>    "ipipe_root_only" also occasionally has long delay times.
>    Is ipipe_root_only run when Linux is executing?
>    Is this critical?
>    See extract below.
>    ================== start: extract from frozen file
>    ================================
>    :    +func               -420045+   1.443  ipipe_root_only+0x4
>    (copy_to_user+0x31)
>    :    +func               -420044      0.260  __ipipe_syscall_root+0x5
>    (sysenter_past_esp+0x5b)
>    :    +func               -420043      0.200  sys_time+0x5
>    (sysenter_do_call+0x12)
>    :    +func               -420043      0.210  get_seconds+0x3
>    (sys_time+0xf)
>    :    +func               -420043! 3910.393  ipipe_root_only+0x4
>    (sys_time+0x1c)
>    :|   +func               -416132      0.651  __ipipe_handle_irq+0x5
>    (common_interrupt+0x2c)


What you have here is a system call to the "time" function from a
task scheduled by Linux scheduler. When the system call is finished,
the system returns to user-space. ipipe_root_only happens to be the
last function called before the return to user-space and before the
next interrupt. ipipe_root_only gets then charged for the time spent
in user-space.

What version of the I-pipe patch are you using on which
architecture? On some architectures we try to create trace points
when entering and leaving the kernel to avoid this issue (with the
added benefit that the user-space value of the PC gets printed, this
may be useful if you have an infinite loop).



More information about the Xenomai mailing list