> 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.
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-hackers" in the body of the message