All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olaf Hering <olaf@aepfle.de>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [PATCH 00 of 24] xenpaging fixes for xen-unstable
Date: Tue, 4 Oct 2011 17:05:45 +0200	[thread overview]
Message-ID: <20111004150545.GA13277@aepfle.de> (raw)
In-Reply-To: <1317721869.21903.110.camel@zakaz.uk.xensource.com>

On Tue, Oct 04, Ian Campbell wrote:

> totmem is unfortunately not all that descriptive to an end user of what
> it does (which I think is a general problem we have with the memory
> related options).
> 
> Currently the xl config file options are:
>         memory = actual start of day RAM
>         maxmem = max ram guest could balloon to (?)
> 
> How does POD fit in? Is it just maxmem-memory for HVM domains? (not
> really relevant for this discussion, more for completeness).
> 
> The associated command line options are:
>         mem-set (runtime equivalent of memory?)
>         mem-max (runtime equivalent of maxmem?)
> 
> Hmm, I was hoping that enumerating the existing options would make the
> name and semantics of the paging option magically pop into my head, I
> was wrong :-(
> 
> BTW tools/libxl/libxl_memory.txt should be patched by this series too,
> once we figure out what to call things.
> 
> The phrase "actual memory" is used in that document -- perhaps that is
> suitable terminology for totmem?

The naming of the various numbers is confusing, so far I could not come
up with a better name than tot_pages.

"actual target" is close to what xenpaging leaves for the guest, the
amount of video ram has to be substracted.

I think the code in libxl, xenstore and in my changes is not 100%
consistent with the figure below. I have to wade through the individual
members again and check if the math is correct in all places.

Olaf

/* === Domain memory breakdown: HVM guests ==================================
                           
             +  +----------+                                                 +            
             |  | shadow   |                                                 |            
             |  +----------+                                                 |            
    overhead |  | extra    |                                                 |            
             |  | external |                                                 |            
             |  +----------+                                      +          |            
             |  | extra    |                                      |          |            
             |  | internal |                                      |          |            
             +  +----------+                            +         |          | footprint  
             |  | video    |                            |         |          |            
             |  +----------+  +           +    +        |         | xen      |            
             |  |          |  | guest OS  |    |        | actual  | maximum  |            
             |  | guest    |  | real RAM  |    |        | target  |          |            
             |  |          |  |           |    | build  |         |          |            
             |  +----------+  +           |    | start  +         |          |            
      static |  | paging   |              |    |                  |          |            
     maximum |  +----------+              |    +                  +          +            
             |  |          |              |                                               
             |  |          |              |                                               
             |  | balloon  |              | build                                         
             |  |          |              | maximum                                       
             |  |          |              |                                               
             +  +----------+              +                                               
                
                
    extra internal = LIBXL_MAXMEM_CONSTANT
    extra external = LIBXL_HVM_EXTRA_MEMORY
    shadow = libxl_domain_build_info.shadow_memkb
    static maximum = libxl_domain_build_info.max_memkb
    video = libxl_domain_build_info.video_memkb
    build start = libxl_domain_build_info.target_memkb
    libxl_domain_setmaxmem -> xen maximum
    libxl_set_memory_target -> actual target
                
    build maximum = RAM as seen inside the virtual machine
                    Increase/Decrease via memory hotplug of virtual hardware (?)
		    xl mem-max (?)
    build start   = RAM usable by the guest OS
                    guest OS sees balloon driver as memory hog (?)
                    Increase/Decrease via commands to the balloon driver
		    xl mem-set
    real RAM      = RAM allocated for the guest
                    Increase/Decrease via commands to paging daemon
		    xl mem-FOO

    guest = real RAM
    paging = virtual RAM / swap
    balloon = will become real or virtual RAM after mem-set command

  reply	other threads:[~2011-10-04 15:05 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-03 15:54 [PATCH 00 of 24] xenpaging fixes for xen-unstable Olaf Hering
2011-10-03 15:54 ` [PATCH 01 of 24] xenpaging: remove filename from comment Olaf Hering
2011-10-03 15:54 ` [PATCH 02 of 24] xenpaging: remove obsolete comment in resume path Olaf Hering
2011-10-03 15:54 ` [PATCH 03 of 24] xenpaging: use PERROR to print errno Olaf Hering
2011-10-04 16:19   ` George Dunlap
2011-10-04 17:19     ` Olaf Hering
2011-10-03 15:54 ` [PATCH 04 of 24] xenpaging: update xenpaging_init Olaf Hering
2011-10-03 15:54 ` [PATCH 05 of 24] xenpaging: remove xc_dominfo_t from paging_t Olaf Hering
2011-10-03 15:54 ` [PATCH 06 of 24] xenpaging: track the number of paged-out pages Olaf Hering
2011-10-03 15:54 ` [PATCH 07 of 24] xenpaging: move page add/resume loops into its own function Olaf Hering
2011-10-03 15:54 ` [PATCH 08 of 24] xenpaging: compare both token and path when checking for @releaseDomain event Olaf Hering
2011-10-03 15:54 ` [PATCH 09 of 24] xenpaging: improve mainloop exit handling Olaf Hering
2011-10-03 15:54 ` [PATCH 10 of 24] libxc: add bitmap_clear function Olaf Hering
2011-10-03 15:54 ` [PATCH 11 of 24] xenpaging: retry unpageable gfns Olaf Hering
2011-10-03 15:54 ` [PATCH 12 of 24] libxl: rename libxl__device_model_starting Olaf Hering
2011-10-03 15:54 ` [PATCH 13 of 24] libxl: rename dm_xenstore_record_pid to libxl_spawner_record_pid Olaf Hering
2011-10-03 15:54 ` [PATCH 14 of 24] libxl: add pid path to libxl__spawner_starting Olaf Hering
2011-10-04  8:23   ` Ian Campbell
2011-10-04  9:09     ` Olaf Hering
2011-10-03 15:54 ` [PATCH 15 of 24] libxl: add libxl__wait_for_offspring function Olaf Hering
2011-10-03 15:54 ` [PATCH 16 of 24] libxl: use libxl__wait_for_offspring for device model Olaf Hering
2011-10-03 15:54 ` [PATCH 17 of 24] libxl: add libxl__spawn_confirm_offspring_startup Olaf Hering
2011-10-25 15:31   ` Ian Jackson
2011-10-25 17:21     ` Olaf Hering
2011-10-25 17:53       ` Ian Jackson
2011-10-26 16:30         ` Olaf Hering
2011-10-27 10:34           ` Ian Jackson
2011-10-03 15:54 ` [PATCH 18 of 24] libxl: use libxl__spawn_confirm_offspring_startup for device model Olaf Hering
2011-10-03 15:54 ` [PATCH 19 of 24] xenpaging: install into LIBEXEC dir Olaf Hering
2011-10-03 15:54 ` [PATCH 20 of 24] xenpaging: add XEN_PAGING_DIR / libxl_xenpaging_dir_path() Olaf Hering
2011-10-03 15:54 ` [PATCH 21 of 24] xenpaging: use guests tot_pages as working target Olaf Hering
2011-10-03 15:54 ` [PATCH 22 of 24] xenpaging: watch the guests memory/target-tot_pages xenstore value Olaf Hering
2011-10-03 15:55 ` [PATCH 23 of 24] xenpaging: add cmdline interface for pager Olaf Hering
2011-10-03 15:55 ` [PATCH 24 of 24] xenpaging: libxl support Olaf Hering
2011-10-04  9:51 ` [PATCH 00 of 24] xenpaging fixes for xen-unstable Ian Campbell
2011-10-04 15:05   ` Olaf Hering [this message]
2011-10-04 15:08   ` Olaf Hering

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=20111004150545.GA13277@aepfle.de \
    --to=olaf@aepfle.de \
    --cc=Ian.Campbell@citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.