On Mon, 02 Mar 2015 10:59:59 +0100
Paulo Ricardo Paz Vital <paulo.vi...@profitbricks.com> wrote:

> In addition to Eric's review.
> 
> On Thu, 2015-02-26 at 14:49 -0500, Luiz Capitulino wrote:
> > This document describes how to use memory hotplug in QEMU.
> > 
> > Signed-off-by: Luiz Capitulino <lcapitul...@redhat.com>
> > ---
> >  docs/memory-hotplug.txt | 77 
> > +++++++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 77 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..e821449
> > --- /dev/null
> > +++ b/docs/memory-hotplug.txt
> > @@ -0,0 +1,77 @@
> > +QEMU memory hotplug
> 
> Not sure, but I guess the correct term is "hot plug" or "hot-plug". The
> same approach should be used to "hot unplug" or "hot-unplug" and in the
> first patch. Someone with better knowledge in English grammar than me
> certainly can correct this. :-D

Linux seems to call it hotplug in most docs. I have the impression that
we have used hotplug too in docs, changelog and code. Although we also
use hot-plug sometimes. As long as the doc can serve users well, I really
don't care.

I'll stick to hotplug, and had one inconsistency to fix.

I've fixed the other errors you found.

> > +===================
> > +
> > +This document explains how to use the memory hotplug feature in QEMU,
> > +which is present since v2.1.0.
> > +
> > +Please, note that memory hot unplug is not supported yet. This means
> > +that you're able to add memory, but you're not able to remove it.
> > +Also, proper proper guest support is required for memory hotplug
> 
> There are two "proper" words here.
> 
> > +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
> 
> Following the grammar question above, this should be "hot pluggable" or
> "hot-pluggable".
> 
> > +memory the guest can grow. This is done at startup time by means of
> > +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
> > + - "slots" is the number of hotpluggable memory slots
> > + - "maxmem" is the maximum RAM size the guest can grow
> > +
> > +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 gigas 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 the front-end pc-dimm device and inserts it
> > +                 into an empty slot
> 
> s/the front-end/a front-end
> 
> > +
> > +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 commnands:
> > +
> > +  (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 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
> 


Reply via email to