l4-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: EROS/Coyotos fault handers vs l4 pager hierarchy


From: Jonathan S. Shapiro
Subject: Re: EROS/Coyotos fault handers vs l4 pager hierarchy
Date: Thu, 20 Oct 2005 08:03:44 -0400

On Thu, 2005-10-20 at 12:32 +0100, Neal H. Walfield wrote:
> At Wed, 19 Oct 2005 15:42:12 -0400,
> Jonathan S. Shapiro wrote:
> > Fault handlers are not privileged in any way.
> > They do not participate in anything comparable to the L4 pager
> > hierarchy.
> 
> I'm having trouble understanding this.  How are L4 pager's privileged?
> Can you bit a bit more precise in what you mean by L4 pager hierarchy?

I will try. I am not writing well today. Espen certainly did not deserve
my earlier comment, and I usually know better.


The two statements were meant to be independent of each other.

Regarding privilege:

L4 pagers are not privileged either. I tend to make the "non-privileged"
point simply because many listeners assume that pagers must be
privileged. In this list it was probably not necessary -- I was writing
on (semi)automatic pilot.

Regarding hierarchy:

We have established in previous emails that there tends to be a
hierarchy of pagers in L4. The root of this hierarchy is privileged
because it is the ultimate source of all pages. I think we have also
established that REVOCABLE COPY introduces transitive dependencies, with
the effect that any receiving process becomes dependent on the pager of
the sending process for any capability that it receives.

There is no comparable hierarchy in EROS. A fault handler's job is to
repair a page fault or not. Once a COPY is completed, there is no
further dependency on the sender's fault handler. In EROS, the hierarchy
is a matter of storage allocation, not mapping recovery.

I think that I do not fully understand how paging (in the sense of
swapping) works in L4, so the following is not meant to be a comparison,
but I do find that persistence separated from fault handling seems to
simplify things in my head. An EROS memory fault handler buys storage
and inserts it into the address space (or not, if the fault will not be
handled), but it is completely unaware of swap-paging.

As an aside, I *hate* the name *pager* in the L4 terminology. Every time
I try to understand L4 pagers I find myself trying to figure out how
they relate to swap-paging. L4 pagers do something that is related, but
not closely related, and they clearly have a much more broader role in
L4 than merely swap-paging. I find this tremendously confusing, because
the name causes me to confuse the concepts. Just to be clear: this is
*my* deficiency, not L4's.



shap





reply via email to

[Prev in Thread] Current Thread [Next in Thread]