All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Gerum <rpm@xenomai.org>
To: Jeff Weber <jweber@domain.hid>
Cc: Xenomai Help <xenomai@xenomai.org>
Subject: Re: [Xenomai-help] page faults
Date: Mon, 16 Apr 2007 22:05:33 +0200	[thread overview]
Message-ID: <1176753934.15950.40.camel@domain.hid> (raw)
In-Reply-To: <200704161449.27506.jweber@domain.hid>

On Mon, 2007-04-16 at 14:49 -0500, Jeff Weber wrote:
> I need some help finding the cause for page faults in my RT application.
> My app has a startup phase, where I can tolerate page faults, and a hard 
> realtime phase, where page faults cannot be tolerated.  Trouble is, I 
> continue to get page faults in the hard realtime phase.
> 
> The app encounters a page fault while writing to a heap buffer.  I've even 
> added steps to clear the entire buffer in the startup phase, after 
> mlockall(), to ensure each page is locked in place.  Here's a timeline of the 
> fault:
> 
> static constructor runs and allocates buffer from heap
> application main() runs
> begin application startup phase
> mlockall(MCL_CURRENT | MCL_FUTURE) runs and returns 0
> entire buffer cleared
> paranoid code even verifies buffer addr 0x81f4000 contents are 0
> begin application hard realtime phase
> time elapses ...
> page fault copying stack addr 0xb645a2d1 to heap buffer addr 0x81f4000
> 
> The page fault is confirmed by the kernel debug message:
> Xenomai: Switching mythread to secondary mode after exception #14 from 
> user-space at 0x80fb8c5 (pid 3558)
> 

Could you disassemble the code around location 0x80fb8c5?

> as well as the delivery of SIGXCPU to my application (at my request).
> 
> How do I prevent this page fault?
> 
> Is this issue covered by the recent NOCOW activity?
> 

Possibly. You need I-pipe 1.7-03 and Xenomai >= v2.3.1 to get the
ondemand mapping scheme disabled by the nucleus when your thread starts.

> 	thanks,
> 	Jeff
> 
> my config:
> CPU: VIA Nehemiah (i386)
> ipipe version: 1.5-00
> Xenomai: 2.2.4
> Linux kernel: 2.6.17.14
> 
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help
-- 
Philippe.




  reply	other threads:[~2007-04-16 20:05 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-16 19:49 [Xenomai-help] page faults Jeff Weber
2007-04-16 20:05 ` Philippe Gerum [this message]
2007-04-16 20:20   ` Jeff Weber
2007-04-16 20:43     ` Gilles Chanteperdrix
2007-04-16 21:27       ` Jeff Weber
2007-04-16 21:34         ` Gilles Chanteperdrix
2007-04-17 13:21           ` Jeff Weber
2007-04-17 19:17             ` Gilles Chanteperdrix
2007-04-17 20:59               ` Jeff Weber
2007-04-20 16:43               ` Jeff Weber
2007-04-20 17:24                 ` Philippe Gerum
  -- strict thread matches above, loose matches on Subject: below --
2006-02-28 14:22 [Xenomai-help] Page faults Jeroen Van den Keybus
2006-02-28 15:05 ` Jan Kiszka
2006-02-28 15:29   ` Jeroen Van den Keybus
2006-02-28 16:29     ` Jan Kiszka
2006-02-28 16:31 ` Philippe Gerum
2006-02-28 17:08   ` Jeroen Van den Keybus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1176753934.15950.40.camel@domain.hid \
    --to=rpm@xenomai.org \
    --cc=jweber@domain.hid \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.