All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Kiper <daniel.kiper@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>
Subject: Re: [PATCH v3 1/3] libxl: xl mem-max et consortes must update static-max in xenstore too [and 1 more messages]
Date: Thu, 11 Apr 2013 16:28:43 +0200	[thread overview]
Message-ID: <20130411142843.GD17926@debian70-amd64.local.net-space.pl> (raw)
In-Reply-To: <1365688060.8036.151.camel@zakaz.uk.xensource.com>

On Thu, Apr 11, 2013 at 02:47:40PM +0100, Ian Campbell wrote:
> On Thu, 2013-04-11 at 13:24 +0100, Daniel Kiper wrote:

[...]

> > Now we have two options:
> >   - we could allow user to change static-max for a given guest by calling
> >     xl mem-max (my current solution); this way we change a bit meaning
> >     of static-max from "maximum amount of memory allowed for the guest
> >     (usualy all guest OS structures were prepared for this amount of memory
> >     but they do not need to be filled at boot time)" to "maximum amount
> >     of memory allowed for the guest at a given moment",
> >   - we could leave static-max as is and use "xen maximum" as "maximum
> >     amount of memory allowed for the guest at a given moment"; However,
> >     in this case comparison with static-max in libxl_set_memory_target()
> >     should be changed to comparison with "xen maximum".
>
> How does this stuff work for physical memory hotplug? Understanding that
> might help us decide what admins expect (and is also directly relevant
> to HVM memory hotplug).

Memory hotplug works in the same way in PV and HVM guest.

> In the e820 of a physical system memory which is actually present at
> boot is obviously represented as E820_MEMORY, but how are the holes in
> the memory map where DIMMs could subsequently be physically inserted
> represented? Are they just "reserved" or is there a special "unpopulated
> memory" type?

Region for hotplugged memory is not reserved in any way. Only
memory available at boot have e820 entries. After hotplugging
memory hardware places it at relevant address and informs system
about new memory and its config usualy via ACPI. System admin
must online new memory via sysfs interface.

Current memory hotplug implementation in balloon driver does
not use ACPI and establishes placement for new memory itself
(simply above max_pfn; algorithm is not perfect and it fails
in some cases; I am going to fix it). Other things work like
in physical case.

> And on the PV kernel side how does this appear to the guest? If you boot
> a "massively ballooned" guest (e.g. 1G out of max 1TB) does it
> automatically switch to making the bulk of the difference a hotpluggable
> region rather than a balloon region? What does "pre-ballooned" even mean
> to a guest which supports memory hotplug?

Guest is "massively ballooned". There is no automatic
change from balloon to memory hotplug.

> Do the kernels support memory unplug?

Linux Kernel supports memory unplug (hot remove) on baremetal.
In Xen guest case memory is ballooned down after memory hotplug.

Daniel

  reply	other threads:[~2013-04-11 14:28 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-04 20:34 [PATCH v3 0/3] libxl: memory management patches Daniel Kiper
2013-04-04 20:34 ` [PATCH v3 1/3] libxl: xl mem-max et consortes must update static-max in xenstore too Daniel Kiper
2013-04-08 16:21   ` Ian Jackson
2013-04-09 11:54     ` Daniel Kiper
2013-04-09 13:10       ` Ian Jackson
2013-04-09 14:08         ` Daniel Kiper
2013-04-09 14:18           ` Ian Jackson
2013-04-09 21:44             ` Daniel Kiper
2013-04-10 15:56               ` [PATCH v3 1/3] libxl: xl mem-max et consortes must update static-max in xenstore too [and 1 more messages] Ian Jackson
2013-04-11 10:15                 ` George Dunlap
2013-04-11 12:25                   ` Daniel Kiper
2013-04-11 12:24                 ` Daniel Kiper
2013-04-11 13:47                   ` Ian Campbell
2013-04-11 14:28                     ` Daniel Kiper [this message]
2013-04-16 12:10                       ` Daniel Kiper
2013-04-16 12:21                         ` Ian Campbell
2013-04-16 13:47                           ` Daniel Kiper
2013-04-16 14:09                             ` Ian Jackson
2013-04-10 13:13           ` [PATCH v3 1/3] libxl: xl mem-max et consortes must update static-max in xenstore too Ian Campbell
2013-04-11 11:20             ` Daniel Kiper
2013-04-11 13:35               ` Ian Campbell
2013-04-11 14:32                 ` Daniel Kiper
2013-04-16 12:12                   ` Daniel Kiper
2013-04-04 20:34 ` [PATCH v3 2/3] xl: Allow user to configure xl mem-set behavior Daniel Kiper
2013-04-04 20:34 ` [PATCH v3 3/3] xl: Improve xl documentation in regards to guest memory management Daniel Kiper
2013-04-08 16:19   ` Ian Jackson
2013-04-09 12:18     ` Daniel Kiper
2013-04-09 14:33       ` Ian Jackson
2013-04-09 21:57         ` Daniel Kiper

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=20130411142843.GD17926@debian70-amd64.local.net-space.pl \
    --to=daniel.kiper@oracle.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=konrad.wilk@oracle.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.