On Thu, 8 Jul 1999, Patryk Zadarnowski wrote:
>
> > Why not put the kernel in a different address space? IIRC there's no
> > absolute requirement for the kernel and userland to be in the same
> > address space, and that way we would have 4 GB for each.
>
> Wouldn't that make system calls that need to share data between kernel
> and user spaces hopelessly inefficient? Things like sysctl() would
> need to introduce (temporary) memory mappings, and someone would have
> to keep track of these mappings and remove them as required, or the
> kernel would probably run out of address space in no time, given even
> with 4GB to spare. On top of that, every mapping established requires
> some messing arround with the TLB, which, at least on pentium, is
> rather expensive.
All user data is imported and exported to the kernel using
special calls anyhow, as we've always thought that we may want to go back
to the separate address spaces that we asarted out with on the 11-40
and 11-45 (etc.)
so technically it wouldn't make too much work as far as altering the
kernel.
I guess however, having thought about it, that we'd have to reload CR3
on a syscall and that'd flush the TLBs which would be a pain..
>
> Incidentally, someone already experimented with such "dual" address
> spaces on Linux, and the result was a 30% or so slow down. If you're
> interested, I can give you the relevant references (the scenario was
> somewhat different, but the source of the performance hit was the
> "dual" address space.)
>
> patryk.
>
>
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-current" in the body of the message
>
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message