Subject: RE: how can kernel space expand to >1GB?
To: 'Jason Thorpe' <thorpej@wasabisystems.com>
From: Ming Lei <mlei@Brocade.COM>
List: tech-kern
Date: 07/31/2003 14:57:23
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C357AE.B8A76510
Content-Type: text/plain


Since the kernel virtual space is 1GB, and suppose the majority of these
kernel memory are non-paging pages, so is there a problem that kernel cannot
access larger than 1GB physical memory if kernel uses up all 1GB virtual
memory space to map 1GB physical memory, say that time system still get some
extra phy mem left?

On linux, there is an option called HIGHMEM support that enable the kernel
to access larger physical memory, more than 1GB on i386. The way they do it,
if I understand correctly, is that use a region in kernel virtual space to
dynamic mapping high physical memory.

-----Original Message-----
From: Jason Thorpe [mailto:thorpej@wasabisystems.com]
Sent: Thursday, July 31, 2003 1:09 PM
To: Ming Lei
Cc: tech-kern@NetBSD.org
Subject: Re: how can kernel space expand to >1GB?



On Thursday, July 31, 2003, at 09:34  AM, Ming Lei wrote:

> re a way for kernel to address larger than 1GB physical memory? I know 
> there is an option to split kernel/user space? Is this the only place 
> I need to change or there are other things need to consider? Do I need 
> to recompile any application running on top of this modified kernel? 
> Share library issues?
>
> On i386 platform, where is the kernel space page table that use for 
> MMU mapping? How big is the actual kernel space?
>
> Sorry for the bunch of questions.

NetBSD can already address more than 1G of RAM.  On the i386 port, for 
example, you can currently have up to 4G of RAM installed (usable is 
usually 3.5G).

On the i386, the kernel is limited to 1G of *virtual* memory, but that 
has nothing to do with the amount of physical memory on the system.

        -- Jason R. Thorpe <thorpej@wasabisystems.com>


------_=_NextPart_001_01C357AE.B8A76510
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3DUS-ASCII">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.2653.12">
<TITLE>RE: how can kernel space expand to &gt;1GB?</TITLE>
</HEAD>
<BODY>
<BR>

<P><FONT SIZE=3D2>Since the kernel virtual space is 1GB, and suppose =
the majority of these kernel memory are non-paging pages, so is there a =
problem that kernel cannot access larger than 1GB physical memory if =
kernel uses up all 1GB virtual memory space to map 1GB physical memory, =
say that time system still get some extra phy mem left?</FONT></P>

<P><FONT SIZE=3D2>On linux, there is an option called HIGHMEM support =
that enable the kernel to access larger physical memory, more than 1GB =
on i386. The way they do it, if I understand correctly, is that use a =
region in kernel virtual space to dynamic mapping high physical =
memory.</FONT></P>

<P><FONT SIZE=3D2>-----Original Message-----</FONT>
<BR><FONT SIZE=3D2>From: Jason Thorpe [<A =
HREF=3D"mailto:thorpej@wasabisystems.com">mailto:thorpej@wasabisystems.c=
om</A>]</FONT>
<BR><FONT SIZE=3D2>Sent: Thursday, July 31, 2003 1:09 PM</FONT>
<BR><FONT SIZE=3D2>To: Ming Lei</FONT>
<BR><FONT SIZE=3D2>Cc: tech-kern@NetBSD.org</FONT>
<BR><FONT SIZE=3D2>Subject: Re: how can kernel space expand to =
&gt;1GB?</FONT>
</P>
<BR>
<BR>

<P><FONT SIZE=3D2>On Thursday, July 31, 2003, at 09:34&nbsp; AM, Ming =
Lei wrote:</FONT>
</P>

<P><FONT SIZE=3D2>&gt; re a way for kernel to address larger than 1GB =
physical memory? I know </FONT>
<BR><FONT SIZE=3D2>&gt; there is an option to split kernel/user space? =
Is this the only place </FONT>
<BR><FONT SIZE=3D2>&gt; I need to change or there are other things need =
to consider? Do I need </FONT>
<BR><FONT SIZE=3D2>&gt; to recompile any application running on top of =
this modified kernel? </FONT>
<BR><FONT SIZE=3D2>&gt; Share library issues?</FONT>
<BR><FONT SIZE=3D2>&gt;</FONT>
<BR><FONT SIZE=3D2>&gt; On i386 platform, where is the kernel space =
page table that use for </FONT>
<BR><FONT SIZE=3D2>&gt; MMU mapping? How big is the actual kernel =
space?</FONT>
<BR><FONT SIZE=3D2>&gt;</FONT>
<BR><FONT SIZE=3D2>&gt; Sorry for the bunch of questions.</FONT>
</P>

<P><FONT SIZE=3D2>NetBSD can already address more than 1G of RAM.&nbsp; =
On the i386 port, for </FONT>
<BR><FONT SIZE=3D2>example, you can currently have up to 4G of RAM =
installed (usable is </FONT>
<BR><FONT SIZE=3D2>usually 3.5G).</FONT>
</P>

<P><FONT SIZE=3D2>On the i386, the kernel is limited to 1G of *virtual* =
memory, but that </FONT>
<BR><FONT SIZE=3D2>has nothing to do with the amount of physical memory =
on the system.</FONT>
</P>

<P><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Jason =
R. Thorpe &lt;thorpej@wasabisystems.com&gt;</FONT>
</P>

</BODY>
</HTML>
------_=_NextPart_001_01C357AE.B8A76510--