linux-um archives
 help / color / mirror / Atom feed
From: Blaisorblade <blaisorblade@yahoo.it>
To: user-mode-linux-devel@lists.sourceforge.net
Cc: Henrik Nordstrom <uml@hno.marasystems.com>,
	Rob Landley <rob@landley.net>, Doug Dumitru <doug@easyco.com>,
	"Vaibhav Sharma, Noida" <Vaibhavs@noida.hcltech.com>
Subject: Re: [uml-devel] memory
Date: Mon, 24 Jan 2005 19:52:53 +0100	[thread overview]
Message-ID: <200501241952.53795.blaisorblade@yahoo.it> (raw)
In-Reply-To: <Pine.LNX.4.61.0501241049100.5934@filer.marasystems.com>

On Monday 24 January 2005 11:02, Henrik Nordstrom wrote:
> 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.
It does this, indeed and sadly (that's why it's so slow).
> > (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.

Offset can sure be 64-bit wide, but he refers to mmaping a 5G-wide chunk of 
memory, and to a "pointer offset"... you cannot mmap more than 4G in memory 
even with 4G/4G. Yes, you can do it like he says (i.e. mmapping back and 
forth).

> > 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.

This point holds actually.

I think however that Henrik will agree that this is not yet implemented, and 
(maybe) nor in sight... about this, I would add somebody suggested 
using /proc/mm to this aim: since a single address space is not enough to map 
all the 64 Giga on a PAE system, he suggested using multiple address spaces 
and switching between them to use memory as cache for MySQL (IIRC)... this 
was also posted on this list.

Also, since x86_64 systems are so cheap (I'm writing from one of them), x86_64 
UML is going to be a reality soon, and we're in short of manpower, the 
logical conclusion is that this is unlikely to be implemented... unless it's 
very simple; do you think that making sure the offset inside /tmp/vm_file-*** 
is 64-bit wide would be enough?

> 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.)
I confirm
> > 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().
Which is too slow, though...
-- 
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729
http://www.user-mode-linux.org/~blaisorblade


-------------------------------------------------------
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	other threads:[~2005-01-24 18:35 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-23  6:46 [uml-devel] memory Vaibhav  Sharma, Noida
2005-01-23  8:28 ` Doug Dumitru
2005-01-23  9:51   ` Rob Landley
2005-01-24 18:41     ` Blaisorblade
2005-01-23 18:27   ` Henrik Nordstrom
2005-01-23 18:25     ` Rob Landley
2005-01-24 10:02       ` Henrik Nordstrom
2005-01-24 18:52         ` Blaisorblade [this message]
2005-01-24  1:11 ` Jeff Dike
2005-01-24  5:10   ` Rob Landley
2005-01-24 10:12     ` Henrik Nordstrom
2005-01-24 11:31       ` Bodo Stroesser
2005-01-24 11:32         ` stian
     [not found]         ` <200501241811.j0OIBYXk002874@ccure.user-mode-linux.org>
2005-01-24 16:24           ` Bodo Stroesser
  -- strict thread matches above, loose matches on Subject: below --
2005-01-24  8:13 Vaibhav  Sharma, Noida
2005-01-24 12:43 ` Rob Landley
2005-01-24 19:07 ` Blaisorblade
2005-01-24 22:41   ` Henrik Nordstrom
2005-01-25  1:40     ` Rob Landley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200501241952.53795.blaisorblade@yahoo.it \
    --to=blaisorblade@yahoo.it \
    --cc=Vaibhavs@noida.hcltech.com \
    --cc=doug@easyco.com \
    --cc=rob@landley.net \
    --cc=uml@hno.marasystems.com \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox