Re: Kernel support for peer-to-peer protection models...

From: Andi Kleen
Date: Sun Mar 28 2004 - 23:37:53 EST

On Sun, 28 Mar 2004 12:21:36 -0800
"Ivan Godard" <igodard@xxxxxxxxxxx> wrote:

> > Maybe you can give each process an different address range, but AFAIK
> > the only people who have done this before are users of non MMU
> architectures.
> > It will probably require som changes in the portable part of the code.
> > Also porting glibc's to this will be likely no-fun.
> Each process gets a different range because each process gets a different
> native space. Within that space processes can use the same offsets, and
> typically will so as to avoid pointless relocation.

fork() will be hard and/or inefficient this way.

> > Overall it sounds like your architecture is not very well suited to
> > run Linux.
> We believe we can adopt the Linux protection model (i.e. the 386 protection
> model) with no more work than any other port to a new architectire (ahem).

Just FYI - Linux has been ported to several architectures with similar SASOS
capabilities in hardware (IA64 or ppc64 on iseries) and they have all opted to use
an conventional protection model.

> So long as 1) a driver has a driver-load-time defined region of working data
> space; 2) has a defined code region; 3) gets its buffer addresses etc. as

Just (1) alone is a illusion - linux drivers generally work on the shared
page pool, just like all other subsystems.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at