From: Luiz Capitulino <lcapitulino@redhat.com>
To: Paulo Ricardo Paz Vital <paulo.vital@profitbricks.com>
Cc: imammedo@redhat.com, pkrempa@redhat.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 2/2] docs: add memory-hotplug.txt
Date: Wed, 4 Mar 2015 10:50:30 -0500 [thread overview]
Message-ID: <20150304105030.4656647b@redhat.com> (raw)
In-Reply-To: <1425457013.14309.5.camel@profitbricks.com>
On Wed, 04 Mar 2015 09:16:53 +0100
Paulo Ricardo Paz Vital <paulo.vital@profitbricks.com> wrote:
> On Tue, 2015-03-03 at 11:16 -0500, Luiz Capitulino wrote:
> > On Tue, 03 Mar 2015 16:12:58 +0100
> > Paulo Ricardo Paz Vital <paulo.vital@profitbricks.com> wrote:
> >
> > > On Tue, 2015-03-03 at 09:47 -0500, Luiz Capitulino wrote:
> > > > This document describes how to use memory hotplug in QEMU.
> > > >
> > > > Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
> > > > ---
> > > > docs/memory-hotplug.txt | 76 +++++++++++++++++++++++++++++++++++++++++++++++++
> > > > 1 file changed, 76 insertions(+)
> > > > create mode 100644 docs/memory-hotplug.txt
> > > >
> > > > diff --git a/docs/memory-hotplug.txt b/docs/memory-hotplug.txt
> > > > new file mode 100644
> > > > index 0000000..f70571d
> > > > --- /dev/null
> > > > +++ b/docs/memory-hotplug.txt
> > > > @@ -0,0 +1,76 @@
> > > > +QEMU memory hotplug
> > > > +===================
> > > > +
> > > > +This document explains how to use the memory hotplug feature in QEMU,
> > > > +which is present since v2.1.0.
> > > > +
> > > > +Please, note that memory hotunplug is not supported yet. This means
> > > > +that you're able to add memory, but you're not able to remove it.
> > > > +Also, proper guest support is required for memory hotplug to work.
> > > > +
> > > > +Basic RAM hotplug
> > > > +-----------------
> > > > +
> > > > +In order to be able to hotplug memory, QEMU has to be told how many
> > > > +hotpluggable memory slots to create and what is the maximum amount of
> > > > +memory the guest can grow. This is done at startup time by means of
> > >
> > > Igor suggested to s/grow/have in the line below, but I think you can
> > > change here also.
> >
> > Right. If this is the only change required, then the maintainer could
> > change it when applying the series.
> >
>
> Ok!
> Should I reply the original patch with the reviewed-by mark?
That's always welcome.
>
> > >
> > > > +the -m command-line option, which has the following format:
> > > > +
> > > > + -m [size=]megs[,slots=n,maxmem=size]
> > > > +
> > > > +Where,
> > > > +
> > > > + - "megs" is the startup RAM. It is the RAM the guest will boot with
> > >
> > > Here, for me, the sentence "It is the RAM the guest will boot with" is
> > > not necessary, since the first sentence ("is the startup RAM") already
> > > explain that VM will start with this amount of RAM.
> >
> > I'm not strong about this, but I think that the term "startup RAM"
> > might not be obvious to everyone at first so I think it doesn't hurt
> > to define what it means in this context.
> >
>
> No problem! As I said, "for me the sentence is not necessary" :-D
> Nice work, BTW!
>
> > >
> > > > + - "slots" is the number of hotpluggable memory slots
> > > > + - "maxmem" is the maximum RAM size the guest can have
> > > > +
> > > > +For example, the following command-line:
> > > > +
> > > > + qemu [...] 1G,slots=3,maxmem=4G
> > > > +
> > > > +Creates a guest with 1GB of memory and three hotpluggable memory slots.
> > > > +The hotpluggable memory slots are empty when the guest is booted, so all
> > > > +memory the guest will see after boot is 1GB. The maximum memory the
> > > > +guest can reach is 4GB. This means that three additional gigabytes can be
> > > > +hotplugged by using any combination of the available memory slots.
> > > > +
> > > > +Two monitor commands are used to hotplug memory:
> > > > +
> > > > + - "object_add": creates a memory backend object
> > > > + - "device_add": creates a front-end pc-dimm device and inserts it
> > > > + into the first empty slot
> > > > +
> > > > +For example, the following commands add another 1GB to the guest
> > > > +discussed earlier:
> > > > +
> > > > + (qemu) object_add memory-backend-ram,id=mem1,size=1G
> > > > + (qemu) device_add pc-dimm,id=dimm1,memdev=mem1
> > > > +
> > > > +Using the file backend
> > > > +----------------------
> > > > +
> > > > +Besides basic RAM hotplug, QEMU also supports using files as a memory
> > > > +backend. This is useful for using hugetlbfs in Linux, which provides
> > > > +access to bigger page sizes.
> > > > +
> > > > +For example, assuming that the host has 1GB hugepages available in
> > > > +the /mnt/hugepages-1GB directory, a 1GB hugepage could be hotplugged
> > > > +into the guest from the previous section with the following commands:
> > > > +
> > > > + (qemu) object_add memory-backend-file,id=mem1,size=1G,mem-path=/mnt/hugepages-1GB
> > > > + (qemu) device_add pc-dimm,id=dimm1,memdev=mem1
> > > > +
> > > > +It's also possible to start a guest with memory cold-plugged into the
> > > > +hotpluggable memory slots. This might seem counterintuitive at first,
> > > > +but this allows for a lot of flexibility when using the file backend.
> > > > +
> > > > +In the following command-line example, a 8GB guest is created where 6GB
> > > > +comes from regular RAM, 1GB is a 1GB hugepage page and 256MB is from
> > > > +2MB pages. Also, the guest has additional memory slots to hotplug more
> > > > +2GB if needed:
> > > > +
> > > > + qemu [...] -m 6GB,slots=4,maxmem=10G \
> > > > + -object memory-backend-file,id=mem1,size=1G,mem-path=/mnt/hugepages-1G \
> > > > + -device pc-dimm,id=dimm1,memdev=mem1 \
> > > > + -object memory-backend-file,id=mem2,size=256M,mem-path=/mnt/hugepages-2MB \
> > > > + -device pc-dimm,id=dimm2,memdev=mem2
> > >
> >
>
next prev parent reply other threads:[~2015-03-04 15:50 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-03 14:47 [Qemu-devel] [PATCH v3 0/2] improve memory hotplug documentation Luiz Capitulino
2015-03-03 14:47 ` [Qemu-devel] [PATCH 1/2] qemu-options.hx: improve -m description Luiz Capitulino
2015-03-03 15:21 ` Igor Mammedov
2015-03-04 17:00 ` Paulo Ricardo Paz Vital
2015-03-03 14:47 ` [Qemu-devel] [PATCH 2/2] docs: add memory-hotplug.txt Luiz Capitulino
2015-03-03 15:12 ` Paulo Ricardo Paz Vital
2015-03-03 16:16 ` Luiz Capitulino
2015-03-04 8:16 ` Paulo Ricardo Paz Vital
2015-03-04 15:50 ` Luiz Capitulino [this message]
2015-03-04 12:04 ` Igor Mammedov
2015-03-04 17:00 ` Paulo Ricardo Paz Vital
-- strict thread matches above, loose matches on Subject: below --
2015-03-02 22:14 [Qemu-devel] [PATCH v2 0/2] improve memory hotplug documentation Luiz Capitulino
2015-03-02 22:14 ` [Qemu-devel] [PATCH 2/2] docs: add memory-hotplug.txt Luiz Capitulino
2015-03-03 13:20 ` Igor Mammedov
2015-03-03 14:32 ` Luiz Capitulino
2015-03-03 17:40 ` Eric Blake
2015-03-03 17:57 ` Luiz Capitulino
2015-02-26 19:49 [Qemu-devel] [PATCH 0/2] improve memory hotplug documentation Luiz Capitulino
2015-02-26 19:49 ` [Qemu-devel] [PATCH 2/2] docs: add memory-hotplug.txt Luiz Capitulino
2015-02-26 20:54 ` Eric Blake
2015-03-02 9:59 ` Paulo Ricardo Paz Vital
2015-03-02 21:51 ` Luiz Capitulino
2015-03-02 14:52 ` Peter Krempa
2015-03-02 15:06 ` Igor Mammedov
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=20150304105030.4656647b@redhat.com \
--to=lcapitulino@redhat.com \
--cc=imammedo@redhat.com \
--cc=paulo.vital@profitbricks.com \
--cc=pkrempa@redhat.com \
--cc=qemu-devel@nongnu.org \
/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;
as well as URLs for NNTP newsgroup(s).