On Wed, 2007-05-09 at 09:17 +0200, Jan Kiszka wrote:
> Johan Borkhuis wrote:
> > Jan,
> > 
> > Jan Kiszka wrote:
> >> Johan Borkhuis wrote:
> >> -snip-
> >>  
> >>> :|  + begin   0x80000001 -1908    0.414  __ipipe_dispatch_event+0x1e4
> >>> (__ipipe_syscall_root+0x64)
> >>> :|  + end     0x80000001 -1908!  52.121  __ipipe_dispatch_event+0x204
> >>> (__ipipe_syscall_root+0x64)
> >>> :   + func               -1857+   1.170  do_page_fault+0x14
> >>> (handle_page_fault+0xc)
> >>>     
> >> This one is interesting: page fault over the RT-thread that belongs to
> >> PID 1160 (prio 79).
> >>  
> >>> :|  # func               -1845+   1.585  rpi_push+0x14 [xeno_nucleus]
> >>> (xnshadow_relax+0x84 [xeno_nucleus])
> >>> :|  # func               -1844    0.463  xnpod_schedule_runnable+0x14
> >>> [xeno_nucleus] (rpi_push+0x84 [xeno_nucleus])
> >>> :|  # [    0] swapper 79 -1843+   1.658  xnpod_schedule_runnable+0x54
> >>> [xeno_nucleus] (rpi_push+0x84 [xeno_nucleus])
> >>>     
> >> And now we are running the Linux kernel at xeno-prio 79 (due to
> >> prio-coupling).
> >>   
> > Thank you for pointing these out. This made me change 2 things in the
> > configuration:
> > - Disabling swap. This should not make any difference as I don't have
> > any swapspace, but the page_fault triggered me to have a look at that
> > setting.
> > - Enabling "Disable priority coupling". I missed the Disable part here,
> > so it was still enabled during this run.
> 
> Don't get me wrong: I was not saying the prio-coupling it the root of
> the problem here, it's just an amplifier. The (or at least one) root is
> that your RT task still causes page faults. That needs to be fixed!
> 

Additionally, prio coupling should not be applied when transitioning to
secondary mode is caused by special operations, like handling a fault or
exiting. I'm going to have a look at this.

-- 
Philippe.



_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to