From: Wolfgang Grandegger <wg@domain.hid>
To: Dmitry Adamushko <dmitry.adamushko@domain.hid>
Cc: Xenomai help <xenomai@xenomai.org>
Subject: Re: [Xenomai-help] Unexpected switch to secondary mode
Date: Wed, 08 Aug 2007 10:14:58 +0200 [thread overview]
Message-ID: <46B97B82.8010401@domain.hid> (raw)
In-Reply-To: <b647ffbd0708080040g7d798f16oe9e03ff233099e33@domain.hid>
Dmitry Adamushko wrote:
> [ forgot to add the list : ]
>
> ---------- Forwarded message ----------
>
> On 06/08/07, Philippe Gerum <rpm@xenomai.org> wrote:
>>> [ ... ]
>>> But I have another question: since the nocow patch is platform
>>> independent, why not integrating it in the I-pipe patch for power pc ?
>>>
>> It is merged into the latest patches against the powerpc/ tree.
>
> [ Mainly, just out of curiosity ]
>
> I've actually tried 'google'ing for an overview of the MMU on ppc but
> it doesn't seem to be easily
> available on the net.
Unfortunately, there is no common MMU implementation for the PowerPC
processors. It is usually described in the User Manual for the IBM,
Freescale or AMCC processor, e.g.:
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPC5200&fpsp=1&tab=Documentation_Tab
>
> Do I understand it right that in the PPC arch. a CPU doesn't have full
> access to task's page tables.. that said, if a TLB miss takes place
> (or some analogue lookup mechanism), the CPU needs assistance from the
> OS and e.g. rises an exception.
Yes.
> [*] A corresponding OS handler gets a 'fault address' and looks for it
> in the task's 'page tables' .. and if found, updates TLB accordingly.
Yes. High-end PowerPC processors have better hw support for virtual to
physical address translation than low-end processors. They usually just
have 64 TLB entries or even less (like the MPC 8xx).
> This would be similar to what happens in MIPS :
> TLB miss --> TLB-miss exception --> OS-dependent TLB-miss handler.
Yes.
> Now, Xenomai is not able (at the moment) to do [*] on its own.. thus,
> there is a switch to the secondary mode so that Linux is able to take
> care of it.
But normal TLB misses happen frequently and do not force a switch to
secondary mode. I think the problem is with the do_page_fault trap. Can
somebody confirm that?
> Unless there is a way to reserve a set of TLB entries for a real-time
> task (or other mechanism to have 'virtual -> physical' conversion
> entirely in the CPU -- I mean, not involving the OS) + the working set
> of the rt task fits into this 'reserved' set --- 'TLB-miss' exception
> gonna happen.. e.g. every time after the RT relinquish a CPU and
> something else trashes the TLB tables.
>
> e.g. on MIPS, the area used for kernel modules also requires
> virtual->physical translation.. so even a kernel-mode task (and
> actually, interrupt handlers inside the kernel modules) cause TLB-miss
> exceptions. Sure, it's not a case if it's linked against the kernel
> itself.
Even kernel code may cause a TLB miss. TLB pinning has been abandoned on
some PowerPC archs because it does reduce overall system performance.
> errr.. ok, to many words :-) does it sound like smth taking place
> here? A link to the MMU overview for ppc would be highly appreciated
> as well.
See above. Unfortunately, I do only a limited, global view of the MMU
implementation for PowerPC.
Wolfgang.
next prev parent reply other threads:[~2007-08-08 8:14 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-02 9:47 [Xenomai-help] Unexpected switch to secondary mode Johan Borkhuis
2007-08-02 10:12 ` Philippe Gerum
2007-08-02 10:54 ` Johan Borkhuis
2007-08-02 11:23 ` Philippe Gerum
2007-08-02 17:55 ` Gilles Chanteperdrix
2007-08-02 18:01 ` Philippe Gerum
2007-08-03 8:05 ` Johan Borkhuis
2007-08-05 17:22 ` Philippe Gerum
2007-08-06 9:08 ` Gilles Chanteperdrix
2007-08-06 11:41 ` Gilles Chanteperdrix
2007-08-07 11:06 ` Johan Borkhuis
2007-08-07 12:49 ` Gilles Chanteperdrix
2007-08-07 14:13 ` Johan Borkhuis
2007-08-06 11:54 ` Philippe Gerum
[not found] ` <b647ffbd0708070758t22f01577wd3a5397a53249459@domain.hid>
2007-08-08 7:40 ` Dmitry Adamushko
2007-08-08 8:00 ` Heikki Lindholm
2007-08-08 8:14 ` Wolfgang Grandegger [this message]
2007-08-08 9:12 ` Dmitry Adamushko
2007-08-08 10:13 ` Wolfgang Grandegger
2007-08-04 12:30 ` Wolfgang Grandegger
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=46B97B82.8010401@domain.hid \
--to=wg@domain.hid \
--cc=dmitry.adamushko@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.