Messages in this thread | | | Date | Mon, 18 Jan 1999 17:25:08 +0100 (MET) | From | Max <> | Subject | Re: Linux and physical memory |
| |
On Sun, 17 Jan 1999, Kurt Garloff wrote:
>On Sun, Jan 17, 1999 at 02:44:37PM +0100, Max wrote: >> >> Maybe I am stupid, but while I understand this is correct (i.e. reserve a part >> of processes address space to point to kernel code/data), I don't >> understand why the kernel needs to always have all physical memory mapped >> in its address space. > >Because you perform a syscall, say for I/O, and tell the kernel: Hey, put >this into this buffer. Now, what woul the kernel do, if the memory is not >mapped? How should the kernel start a binary, if it can not access the >memory, where it's started. >If the kernel does not map the memory, it cannot control it. >The only way out is to use other selectors and to have context switches, >which would hurt performance, as said before. >I don't think, that's what we want.
Even if english is not my native language, I thought my question was clear:
>> I don't understand why the kernel needs to always have all physical memory >> mapped in its address space.
I said "ALWAYS have mapped ALL physical memory" etc.
So I obviously mean (well, lokkgin to your answer maybe it was not so obvious):
Why can't the kernel just map in its address space the pieces of RAM it needs for kernel code/data, and unmap them when done with them? User code/data would always be accessible (I am not suggesting to touch user processes address space) so I thought that could work and remove the 960MB problem.
Maybe that mapping/unmapping of memory in kernel address space is expensive, but I don't know. So I posted the question.
Massimiliano Ghilardi
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |