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