On Sun, 23 Jan 2005, Rob Landley wrote:
The client kernel's highmem suport is unlikely to do much, I'd think. Not unless it's unmapping and remapping multiple mmaps. (There's large file support, but trying to mmap a 5 gig chunk out of a large file can't work: what would that mean? How could you generate an offset into the last meg? What would the pointer _be_?)
off_t is 64 bits in 64-bit file pointer mode, so there is no problem to mmap portions of an multi-gigabyte "ram" file within a 32-bit address space.
The parent kernel's highmem support still doesn't provide more than 4 gigabytes per application, and the UML kernel is one application.
Yes, but with HIGHMEM UML in theory can provide as as much ram to each single process running below it as it can for a single process. So yes, each process in the UML would still be limited, but the total RAM usage of UML would be practically unlimited. And in addition a very good environment for debugging HIGHMEM in general as you could set up things to only provide a very limited directly addressible address space with the rest remapped by HIGHMEM.
With HIGHMEM the host process size limitations has an direct effect on the maximum process size possible within the UML, but not on the RAM size of UML. In addition running an UML with HIGHMEM support does not depend on the host HIGHMEM support, but performance will obviously suffer if UML needs to swap..
(And that's with the 4 gig kernel/4 gig user patches from... Ingo Molnar, I think.) Highmem lets the system as a whole use PAE (up to 64 gigs physical memory), but the kernel is basically doing something very like the old DOS expanded memory behind the scenes, swapping around page tables so each process sees a different set of physical memory. pages (The overhead isn't quite so bad since it's doing that anyway as part of protecting process's memory from each other...)
Exctaly, and UML can do something very similar with the help of mmap().
Regards Henrik
------------------------------------------------------- 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