lkml.org 
[lkml]   [1999]   [Jan]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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/

\
 
 \ /
  Last update: 2005-03-22 13:49    [from the cache]
©2003-2011 Jasper Spaans. Advertise on this site