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

Andi Kleen
2004-03-29T04:36:54Z

On Sun, 28 Mar 2004 12:21:36 -0800
"Ivan Godard" <igodard@pacbell.net> 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 ld.so 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.

-Andi