Thank you all for ur valuable discussion (temp dir) and suggestions related
to highmem/PAE and x86_64. 

I have another thing to ask related to debugging...i want to check the
routines which will be involved in the memory management.  

According to the design of UML, it has its own VM system. If I have to check
the scalability limits of the "parent kernel" for memory management, will
UML be useful..? 

When I debug the UML kernel when a process requests a large amount of
memory, I will only get the flow used by UML for its VM. Is the code/design
of UML very different from the parent kernel..?

Is there a way in I can get to code of parent kernel when 2G /3G RAM size is
used?

(I may be totally wrong in this mail, please do correct me...)
--

vaibhav

-----Original Message-----
From: Rob Landley [mailto:[EMAIL PROTECTED] 
Sent: Monday, January 24, 2005 10:40 AM
To: user-mode-linux-devel@lists.sourceforge.net
Cc: Jeff Dike; Vaibhav Sharma, Noida; Doug Dumitru
Subject: Re: [uml-devel] memory

On Sunday 23 January 2005 08:11 pm, Jeff Dike wrote:
> It'll allocate a temp file of the appropriate size.  If it's larger 
> than what it can use for physical memory, the rest will be allocated as
highmem.
>  If you leave 2-level pagetables on, then you're limited to 4G. If you 
> turn on 3-level pagetables, then you get up to 128G.

Interesting.  I wonder how that works?  (PAE on x86 only lets you have 64G.)

> [EMAIL PROTECTED] said:
> > Not  unless it's unmapping and remapping multiple mmaps.
>
> It is.

But an individual process running under UML can still only have 4 gigabytes.

> > (There's
> > large file  support, but trying to mmap a 5 gig chunk out of a large 
> > file can't work:
>
> It does it a page at a time.
>
> > what would that mean?  How could you generate an offset into the 
> > last meg?
>
> The LFS interfaces take 64-bit offsets.

Yeah.  (Ouch.  But yeah, I can see that working...)

> > What would the pointer _be_?)
>
> What pointer?

The virtual or physical address used to access memory.  (I'm guessing
userspace programs running under UML are limited to 4 gigs, and UML is using
page indexes and is thus limited to 4 billion pages, not 4 billion bytes.)

> > The parent kernel's highmem support still doesn't provide more than 
> > 4 gigabytes per application, and the UML kernel is one application.
>
> The host kernel's highmem support is totally irrelevant.  There 
> doesn't even need to be highmem support on the host.

Just large file support, and the ability to mmap up to 4 gigs of memory at a
time (with a starting offset potentially above 4 gigabytes), and unmap it
and map a different 4 gigs when you switch to the next process...

Makes my brain hurt just thinking about it, but that could be caffeine
withdrawl...

>                               Jeff

Rob


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to