* [Qemu-devel] [PATCH 1/2] qemu-options.hx: improve -m description
2015-02-26 19:49 [Qemu-devel] [PATCH 0/2] improve memory hotplug documentation Luiz Capitulino
@ 2015-02-26 19:49 ` Luiz Capitulino
2015-03-02 14:50 ` Peter Krempa
0 siblings, 1 reply; 18+ messages in thread
From: Luiz Capitulino @ 2015-02-26 19:49 UTC (permalink / raw)
To: qemu-devel; +Cc: imammedo, pkrempa
Add memory hotplug options to the command-line format. Also,
add a complete command-line example and improve description.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
---
qemu-options.hx | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/qemu-options.hx b/qemu-options.hx
index 85ca3ad..1634175 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -237,12 +237,25 @@ DEF("m", HAS_ARG, QEMU_OPTION_m,
"NOTE: Some architectures might enforce a specific granularity\n",
QEMU_ARCH_ALL)
STEXI
-@item -m [size=]@var{megs}
+@item -m [size=]@var{megs}[,slots=n,maxmem=size]
@findex -m
-Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB. Optionally,
-a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
-gigabytes respectively. Optional pair @var{slots}, @var{maxmem} could be used
-to set amount of hotluggable memory slots and possible maximum amount of memory.
+Sets guest startup RAM size to @var{megs} megabytes. Default is 128 MiB.
+Optionally, a suffix of ``M'' or ``G'' can be used to signify a value in
+megabytes or gigabytes respectively. Optional pair @var{slots}, @var{maxmem}
+could be used to set amount of hotpluggable memory slots and maximum amount of
+memory.
+
+For example, the following command-line sets the guest startup RAM size to
+1GB, creates 3 slots to hotplug additional memory and sets the maximum
+memory the guest can reach to 4GB:
+
+@example
+qemy-system-i386 -m 1G,slots=3,maxmem=4G
+@end example
+
+If @var{slots} and @var{maxmem} are not specified, memory hotplug won't
+be enabled and the guest startup RAM will never increase (although it can
+be decreased with the use of ballooning).
ETEXI
DEF("mem-path", HAS_ARG, QEMU_OPTION_mempath,
--
1.9.3
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] qemu-options.hx: improve -m description
2015-02-26 19:49 ` [Qemu-devel] [PATCH 1/2] qemu-options.hx: improve -m description Luiz Capitulino
@ 2015-03-02 14:50 ` Peter Krempa
2015-03-02 15:03 ` Igor Mammedov
0 siblings, 1 reply; 18+ messages in thread
From: Peter Krempa @ 2015-03-02 14:50 UTC (permalink / raw)
To: Luiz Capitulino; +Cc: imammedo, qemu-devel
[-- Attachment #1: Type: text/plain, Size: 2142 bytes --]
On Thu, Feb 26, 2015 at 14:49:15 -0500, Luiz Capitulino wrote:
> Add memory hotplug options to the command-line format. Also,
> add a complete command-line example and improve description.
>
> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
> ---
> qemu-options.hx | 23 ++++++++++++++++++-----
> 1 file changed, 18 insertions(+), 5 deletions(-)
>
> diff --git a/qemu-options.hx b/qemu-options.hx
> index 85ca3ad..1634175 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -237,12 +237,25 @@ DEF("m", HAS_ARG, QEMU_OPTION_m,
> "NOTE: Some architectures might enforce a specific granularity\n",
> QEMU_ARCH_ALL)
> STEXI
> -@item -m [size=]@var{megs}
> +@item -m [size=]@var{megs}[,slots=n,maxmem=size]
> @findex -m
> -Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB. Optionally,
> -a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
> -gigabytes respectively. Optional pair @var{slots}, @var{maxmem} could be used
> -to set amount of hotluggable memory slots and possible maximum amount of memory.
> +Sets guest startup RAM size to @var{megs} megabytes. Default is 128 MiB.
> +Optionally, a suffix of ``M'' or ``G'' can be used to signify a value in
> +megabytes or gigabytes respectively. Optional pair @var{slots}, @var{maxmem}
> +could be used to set amount of hotpluggable memory slots and maximum amount of
> +memory.
> +
> +For example, the following command-line sets the guest startup RAM size to
> +1GB, creates 3 slots to hotplug additional memory and sets the maximum
> +memory the guest can reach to 4GB:
> +
> +@example
> +qemy-system-i386 -m 1G,slots=3,maxmem=4G
> +@end example
> +
> +If @var{slots} and @var{maxmem} are not specified, memory hotplug won't
> +be enabled and the guest startup RAM will never increase (although it can
> +be decreased with the use of ballooning).
> ETEXI
It might be also worth noting that maxmem has to be aligned to the page
size. See:
http://lists.gnu.org/archive/html/qemu-devel/2015-01/msg04345.html
(unfortunately it was not merged yet for some reason ...)
Peter
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] qemu-options.hx: improve -m description
2015-03-02 14:50 ` Peter Krempa
@ 2015-03-02 15:03 ` Igor Mammedov
0 siblings, 0 replies; 18+ messages in thread
From: Igor Mammedov @ 2015-03-02 15:03 UTC (permalink / raw)
To: Peter Krempa; +Cc: qemu-devel, Luiz Capitulino
On Mon, 2 Mar 2015 15:50:19 +0100
Peter Krempa <pkrempa@redhat.com> wrote:
> On Thu, Feb 26, 2015 at 14:49:15 -0500, Luiz Capitulino wrote:
> > Add memory hotplug options to the command-line format. Also,
> > add a complete command-line example and improve description.
> >
> > Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
> > ---
> > qemu-options.hx | 23 ++++++++++++++++++-----
> > 1 file changed, 18 insertions(+), 5 deletions(-)
> >
> > diff --git a/qemu-options.hx b/qemu-options.hx
> > index 85ca3ad..1634175 100644
> > --- a/qemu-options.hx
> > +++ b/qemu-options.hx
> > @@ -237,12 +237,25 @@ DEF("m", HAS_ARG, QEMU_OPTION_m,
> > "NOTE: Some architectures might enforce a specific granularity\n",
> > QEMU_ARCH_ALL)
> > STEXI
> > -@item -m [size=]@var{megs}
> > +@item -m [size=]@var{megs}[,slots=n,maxmem=size]
> > @findex -m
> > -Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB. Optionally,
> > -a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
> > -gigabytes respectively. Optional pair @var{slots}, @var{maxmem} could be used
> > -to set amount of hotluggable memory slots and possible maximum amount of memory.
> > +Sets guest startup RAM size to @var{megs} megabytes. Default is 128 MiB.
> > +Optionally, a suffix of ``M'' or ``G'' can be used to signify a value in
> > +megabytes or gigabytes respectively. Optional pair @var{slots}, @var{maxmem}
> > +could be used to set amount of hotpluggable memory slots and maximum amount of
> > +memory.
> > +
> > +For example, the following command-line sets the guest startup RAM size to
> > +1GB, creates 3 slots to hotplug additional memory and sets the maximum
> > +memory the guest can reach to 4GB:
> > +
> > +@example
> > +qemy-system-i386 -m 1G,slots=3,maxmem=4G
> > +@end example
> > +
> > +If @var{slots} and @var{maxmem} are not specified, memory hotplug won't
> > +be enabled and the guest startup RAM will never increase (although it can
> > +be decreased with the use of ballooning).
> > ETEXI
>
> It might be also worth noting that maxmem has to be aligned to the page
> size. See:
> http://lists.gnu.org/archive/html/qemu-devel/2015-01/msg04345.html
>
> (unfortunately it was not merged yet for some reason ...)
it wasn't lost, it's in the last (today's) pull req from PCI tree.
>
> Peter
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Qemu-devel] [PATCH 1/2] qemu-options.hx: improve -m description
2015-03-02 22:14 [Qemu-devel] [PATCH v2 0/2] improve memory hotplug documentation Luiz Capitulino
@ 2015-03-02 22:14 ` Luiz Capitulino
2015-03-03 13:06 ` Igor Mammedov
0 siblings, 1 reply; 18+ messages in thread
From: Luiz Capitulino @ 2015-03-02 22:14 UTC (permalink / raw)
To: qemu-devel; +Cc: imammedo, pkrempa, paulo.vital
Add memory hotplug options to the command-line format. Also,
add a complete command-line example and improve description.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
---
qemu-options.hx | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/qemu-options.hx b/qemu-options.hx
index 85ca3ad..6fa46d4 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -237,12 +237,25 @@ DEF("m", HAS_ARG, QEMU_OPTION_m,
"NOTE: Some architectures might enforce a specific granularity\n",
QEMU_ARCH_ALL)
STEXI
-@item -m [size=]@var{megs}
+@item -m [size=]@var{megs}[,slots=n,maxmem=size]
@findex -m
-Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB. Optionally,
-a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
-gigabytes respectively. Optional pair @var{slots}, @var{maxmem} could be used
-to set amount of hotluggable memory slots and possible maximum amount of memory.
+Sets guest startup RAM size to @var{megs} megabytes. Default is 128 MiB.
+Optionally, a suffix of ``M'' or ``G'' can be used to signify a value in
+megabytes or gigabytes respectively. Optional pair @var{slots}, @var{maxmem}
+could be used to set amount of hotpluggable memory slots and maximum amount of
+memory. Note that @var{maxmem} must be aligned to the page size.
+
+For example, the following command-line sets the guest startup RAM size to
+1GB, creates 3 slots to hotplug additional memory and sets the maximum
+memory the guest can reach to 4GB:
+
+@example
+qemy-system-i386 -m 1G,slots=3,maxmem=4G
+@end example
+
+If @var{slots} and @var{maxmem} are not specified, memory hotplug won't
+be enabled and the guest startup RAM will never increase (although it can
+be decreased with the use of ballooning).
ETEXI
DEF("mem-path", HAS_ARG, QEMU_OPTION_mempath,
--
1.9.3
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] qemu-options.hx: improve -m description
2015-03-02 22:14 ` [Qemu-devel] [PATCH 1/2] qemu-options.hx: improve -m description Luiz Capitulino
@ 2015-03-03 13:06 ` Igor Mammedov
2015-03-03 13:32 ` Paulo Ricardo Paz Vital
0 siblings, 1 reply; 18+ messages in thread
From: Igor Mammedov @ 2015-03-03 13:06 UTC (permalink / raw)
To: Luiz Capitulino; +Cc: pkrempa, qemu-devel, paulo.vital
On Mon, 2 Mar 2015 17:14:47 -0500
Luiz Capitulino <lcapitulino@redhat.com> wrote:
> Add memory hotplug options to the command-line format. Also,
> add a complete command-line example and improve description.
>
> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
> ---
> qemu-options.hx | 23 ++++++++++++++++++-----
> 1 file changed, 18 insertions(+), 5 deletions(-)
>
> diff --git a/qemu-options.hx b/qemu-options.hx
> index 85ca3ad..6fa46d4 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -237,12 +237,25 @@ DEF("m", HAS_ARG, QEMU_OPTION_m,
> "NOTE: Some architectures might enforce a specific granularity\n",
> QEMU_ARCH_ALL)
> STEXI
> -@item -m [size=]@var{megs}
> +@item -m [size=]@var{megs}[,slots=n,maxmem=size]
> @findex -m
> -Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB. Optionally,
> -a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
> -gigabytes respectively. Optional pair @var{slots}, @var{maxmem} could be used
> -to set amount of hotluggable memory slots and possible maximum amount of memory.
> +Sets guest startup RAM size to @var{megs} megabytes. Default is 128 MiB.
> +Optionally, a suffix of ``M'' or ``G'' can be used to signify a value in
> +megabytes or gigabytes respectively. Optional pair @var{slots}, @var{maxmem}
> +could be used to set amount of hotpluggable memory slots and maximum amount of
> +memory. Note that @var{maxmem} must be aligned to the page size.
> +
> +For example, the following command-line sets the guest startup RAM size to
> +1GB, creates 3 slots to hotplug additional memory and sets the maximum
> +memory the guest can reach to 4GB:
> +
> +@example
> +qemy-system-i386 -m 1G,slots=3,maxmem=4G
Perhaps it should be qemy-system-x86_64,
I'm not sure that -i386 target would work since hotplug memory is
mapped above 4G.
> +@end example
> +
> +If @var{slots} and @var{maxmem} are not specified, memory hotplug won't
> +be enabled and the guest startup RAM will never increase (although it can
> +be decreased with the use of ballooning).
Technically that's not true, startup RAM is not decreased it's just landed out
by balloon driver to host. Is you restart guest it will use ALL startup memory
until the balloon driver is loaded.
I'd suggest to drop "(...)" part here.
> ETEXI
>
> DEF("mem-path", HAS_ARG, QEMU_OPTION_mempath,
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] qemu-options.hx: improve -m description
2015-03-03 13:06 ` Igor Mammedov
@ 2015-03-03 13:32 ` Paulo Ricardo Paz Vital
2015-03-03 14:18 ` Luiz Capitulino
0 siblings, 1 reply; 18+ messages in thread
From: Paulo Ricardo Paz Vital @ 2015-03-03 13:32 UTC (permalink / raw)
To: Igor Mammedov; +Cc: pkrempa, qemu-devel, Luiz Capitulino
On Tue, 2015-03-03 at 14:06 +0100, Igor Mammedov wrote:
> On Mon, 2 Mar 2015 17:14:47 -0500
> Luiz Capitulino <lcapitulino@redhat.com> wrote:
>
> > Add memory hotplug options to the command-line format. Also,
> > add a complete command-line example and improve description.
> >
> > Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
> > ---
> > qemu-options.hx | 23 ++++++++++++++++++-----
> > 1 file changed, 18 insertions(+), 5 deletions(-)
> >
> > diff --git a/qemu-options.hx b/qemu-options.hx
> > index 85ca3ad..6fa46d4 100644
> > --- a/qemu-options.hx
> > +++ b/qemu-options.hx
> > @@ -237,12 +237,25 @@ DEF("m", HAS_ARG, QEMU_OPTION_m,
> > "NOTE: Some architectures might enforce a specific granularity\n",
> > QEMU_ARCH_ALL)
> > STEXI
> > -@item -m [size=]@var{megs}
> > +@item -m [size=]@var{megs}[,slots=n,maxmem=size]
> > @findex -m
> > -Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB. Optionally,
> > -a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
> > -gigabytes respectively. Optional pair @var{slots}, @var{maxmem} could be used
> > -to set amount of hotluggable memory slots and possible maximum amount of memory.
> > +Sets guest startup RAM size to @var{megs} megabytes. Default is 128 MiB.
> > +Optionally, a suffix of ``M'' or ``G'' can be used to signify a value in
> > +megabytes or gigabytes respectively. Optional pair @var{slots}, @var{maxmem}
> > +could be used to set amount of hotpluggable memory slots and maximum amount of
> > +memory. Note that @var{maxmem} must be aligned to the page size.
> > +
> > +For example, the following command-line sets the guest startup RAM size to
> > +1GB, creates 3 slots to hotplug additional memory and sets the maximum
> > +memory the guest can reach to 4GB:
> > +
> > +@example
> > +qemy-system-i386 -m 1G,slots=3,maxmem=4G
> Perhaps it should be qemy-system-x86_64,
> I'm not sure that -i386 target would work since hotplug memory is
> mapped above 4G.
Also it should be qemu, not qemy :-D
>
> > +@end example
> > +
> > +If @var{slots} and @var{maxmem} are not specified, memory hotplug won't
> > +be enabled and the guest startup RAM will never increase (although it can
> > +be decreased with the use of ballooning).
> Technically that's not true, startup RAM is not decreased it's just landed out
> by balloon driver to host. Is you restart guest it will use ALL startup memory
> until the balloon driver is loaded.
> I'd suggest to drop "(...)" part here.
>
> > ETEXI
> >
> > DEF("mem-path", HAS_ARG, QEMU_OPTION_mempath,
>
--
Paulo Ricardo Paz Vital <paulo.vital@profitbricks.com>
ProfitBricks GmbH
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] qemu-options.hx: improve -m description
2015-03-03 13:32 ` Paulo Ricardo Paz Vital
@ 2015-03-03 14:18 ` Luiz Capitulino
0 siblings, 0 replies; 18+ messages in thread
From: Luiz Capitulino @ 2015-03-03 14:18 UTC (permalink / raw)
To: Paulo Ricardo Paz Vital; +Cc: Igor Mammedov, pkrempa, qemu-devel
On Tue, 03 Mar 2015 14:32:43 +0100
Paulo Ricardo Paz Vital <paulo.vital@profitbricks.com> wrote:
> On Tue, 2015-03-03 at 14:06 +0100, Igor Mammedov wrote:
> > On Mon, 2 Mar 2015 17:14:47 -0500
> > Luiz Capitulino <lcapitulino@redhat.com> wrote:
> >
> > > Add memory hotplug options to the command-line format. Also,
> > > add a complete command-line example and improve description.
> > >
> > > Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
> > > ---
> > > qemu-options.hx | 23 ++++++++++++++++++-----
> > > 1 file changed, 18 insertions(+), 5 deletions(-)
> > >
> > > diff --git a/qemu-options.hx b/qemu-options.hx
> > > index 85ca3ad..6fa46d4 100644
> > > --- a/qemu-options.hx
> > > +++ b/qemu-options.hx
> > > @@ -237,12 +237,25 @@ DEF("m", HAS_ARG, QEMU_OPTION_m,
> > > "NOTE: Some architectures might enforce a specific granularity\n",
> > > QEMU_ARCH_ALL)
> > > STEXI
> > > -@item -m [size=]@var{megs}
> > > +@item -m [size=]@var{megs}[,slots=n,maxmem=size]
> > > @findex -m
> > > -Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB. Optionally,
> > > -a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
> > > -gigabytes respectively. Optional pair @var{slots}, @var{maxmem} could be used
> > > -to set amount of hotluggable memory slots and possible maximum amount of memory.
> > > +Sets guest startup RAM size to @var{megs} megabytes. Default is 128 MiB.
> > > +Optionally, a suffix of ``M'' or ``G'' can be used to signify a value in
> > > +megabytes or gigabytes respectively. Optional pair @var{slots}, @var{maxmem}
> > > +could be used to set amount of hotpluggable memory slots and maximum amount of
> > > +memory. Note that @var{maxmem} must be aligned to the page size.
> > > +
> > > +For example, the following command-line sets the guest startup RAM size to
> > > +1GB, creates 3 slots to hotplug additional memory and sets the maximum
> > > +memory the guest can reach to 4GB:
> > > +
> > > +@example
> > > +qemy-system-i386 -m 1G,slots=3,maxmem=4G
> > Perhaps it should be qemy-system-x86_64,
> > I'm not sure that -i386 target would work since hotplug memory is
> > mapped above 4G.
>
> Also it should be qemu, not qemy :-D
LOL. Fixed it and added Igor's suggestions too.
>
> >
> > > +@end example
> > > +
> > > +If @var{slots} and @var{maxmem} are not specified, memory hotplug won't
> > > +be enabled and the guest startup RAM will never increase (although it can
> > > +be decreased with the use of ballooning).
> > Technically that's not true, startup RAM is not decreased it's just landed out
> > by balloon driver to host. Is you restart guest it will use ALL startup memory
> > until the balloon driver is loaded.
> > I'd suggest to drop "(...)" part here.
> >
> > > ETEXI
> > >
> > > DEF("mem-path", HAS_ARG, QEMU_OPTION_mempath,
> >
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Qemu-devel] [PATCH v3 0/2] improve memory hotplug documentation
@ 2015-03-03 14:47 Luiz Capitulino
2015-03-03 14:47 ` [Qemu-devel] [PATCH 1/2] qemu-options.hx: improve -m description Luiz Capitulino
2015-03-03 14:47 ` [Qemu-devel] [PATCH 2/2] docs: add memory-hotplug.txt Luiz Capitulino
0 siblings, 2 replies; 18+ messages in thread
From: Luiz Capitulino @ 2015-03-03 14:47 UTC (permalink / raw)
To: qemu-devel; +Cc: imammedo, pkrempa, paulo.vital
Hi,
I started playing with memory hotplug the other day and missed some
good documentation explaining how to use the feature.
I figured I could contribute some documentation myself, although
I'm new to the feature so the chances of making mistakes is high.
Review is very appreciated.
v3
- Addressed Igor's review comments
v2
- Grammar and general fixes [Eric, Paulo and Peter]
Luiz Capitulino (2):
qemu-options.hx: improve -m description
docs: add memory-hotplug.txt
docs/memory-hotplug.txt | 76 +++++++++++++++++++++++++++++++++++++++++++++++++
qemu-options.hx | 22 ++++++++++----
2 files changed, 93 insertions(+), 5 deletions(-)
create mode 100644 docs/memory-hotplug.txt
--
1.9.3
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Qemu-devel] [PATCH 1/2] qemu-options.hx: improve -m description
2015-03-03 14:47 [Qemu-devel] [PATCH v3 0/2] improve memory hotplug documentation Luiz Capitulino
@ 2015-03-03 14:47 ` 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
1 sibling, 2 replies; 18+ messages in thread
From: Luiz Capitulino @ 2015-03-03 14:47 UTC (permalink / raw)
To: qemu-devel; +Cc: imammedo, pkrempa, paulo.vital
Add memory hotplug options to the command-line format. Also,
add a complete command-line example and improve description.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
---
qemu-options.hx | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/qemu-options.hx b/qemu-options.hx
index 85ca3ad..b0345ae 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -237,12 +237,24 @@ DEF("m", HAS_ARG, QEMU_OPTION_m,
"NOTE: Some architectures might enforce a specific granularity\n",
QEMU_ARCH_ALL)
STEXI
-@item -m [size=]@var{megs}
+@item -m [size=]@var{megs}[,slots=n,maxmem=size]
@findex -m
-Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB. Optionally,
-a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
-gigabytes respectively. Optional pair @var{slots}, @var{maxmem} could be used
-to set amount of hotluggable memory slots and possible maximum amount of memory.
+Sets guest startup RAM size to @var{megs} megabytes. Default is 128 MiB.
+Optionally, a suffix of ``M'' or ``G'' can be used to signify a value in
+megabytes or gigabytes respectively. Optional pair @var{slots}, @var{maxmem}
+could be used to set amount of hotpluggable memory slots and maximum amount of
+memory. Note that @var{maxmem} must be aligned to the page size.
+
+For example, the following command-line sets the guest startup RAM size to
+1GB, creates 3 slots to hotplug additional memory and sets the maximum
+memory the guest can reach to 4GB:
+
+@example
+qemu-system-x86_64 -m 1G,slots=3,maxmem=4G
+@end example
+
+If @var{slots} and @var{maxmem} are not specified, memory hotplug won't
+be enabled and the guest startup RAM will never increase.
ETEXI
DEF("mem-path", HAS_ARG, QEMU_OPTION_mempath,
--
1.9.3
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Qemu-devel] [PATCH 2/2] docs: add memory-hotplug.txt
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 14:47 ` Luiz Capitulino
2015-03-03 15:12 ` Paulo Ricardo Paz Vital
` (2 more replies)
1 sibling, 3 replies; 18+ messages in thread
From: Luiz Capitulino @ 2015-03-03 14:47 UTC (permalink / raw)
To: qemu-devel; +Cc: imammedo, pkrempa, paulo.vital
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
+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 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
--
1.9.3
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] docs: add memory-hotplug.txt
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 12:04 ` Igor Mammedov
2015-03-04 17:00 ` Paulo Ricardo Paz Vital
2 siblings, 1 reply; 18+ messages in thread
From: Paulo Ricardo Paz Vital @ 2015-03-03 15:12 UTC (permalink / raw)
To: Luiz Capitulino; +Cc: imammedo, pkrempa, qemu-devel
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.
> +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.
> + - "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
--
Paulo Ricardo Paz Vital <paulo.vital@profitbricks.com>
ProfitBricks GmbH
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] qemu-options.hx: improve -m description
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
1 sibling, 0 replies; 18+ messages in thread
From: Igor Mammedov @ 2015-03-03 15:21 UTC (permalink / raw)
To: Luiz Capitulino; +Cc: pkrempa, qemu-devel, paulo.vital
On Tue, 3 Mar 2015 09:47:25 -0500
Luiz Capitulino <lcapitulino@redhat.com> wrote:
> Add memory hotplug options to the command-line format. Also,
> add a complete command-line example and improve description.
>
> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
> ---
> qemu-options.hx | 22 +++++++++++++++++-----
> 1 file changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/qemu-options.hx b/qemu-options.hx
> index 85ca3ad..b0345ae 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -237,12 +237,24 @@ DEF("m", HAS_ARG, QEMU_OPTION_m,
> "NOTE: Some architectures might enforce a specific granularity\n",
> QEMU_ARCH_ALL)
> STEXI
> -@item -m [size=]@var{megs}
> +@item -m [size=]@var{megs}[,slots=n,maxmem=size]
> @findex -m
> -Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB. Optionally,
> -a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
> -gigabytes respectively. Optional pair @var{slots}, @var{maxmem} could be used
> -to set amount of hotluggable memory slots and possible maximum amount of memory.
> +Sets guest startup RAM size to @var{megs} megabytes. Default is 128 MiB.
> +Optionally, a suffix of ``M'' or ``G'' can be used to signify a value in
> +megabytes or gigabytes respectively. Optional pair @var{slots}, @var{maxmem}
> +could be used to set amount of hotpluggable memory slots and maximum amount of
> +memory. Note that @var{maxmem} must be aligned to the page size.
> +
> +For example, the following command-line sets the guest startup RAM size to
> +1GB, creates 3 slots to hotplug additional memory and sets the maximum
> +memory the guest can reach to 4GB:
> +
> +@example
> +qemu-system-x86_64 -m 1G,slots=3,maxmem=4G
> +@end example
> +
> +If @var{slots} and @var{maxmem} are not specified, memory hotplug won't
> +be enabled and the guest startup RAM will never increase.
> ETEXI
>
> DEF("mem-path", HAS_ARG, QEMU_OPTION_mempath,
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] docs: add memory-hotplug.txt
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
0 siblings, 1 reply; 18+ messages in thread
From: Luiz Capitulino @ 2015-03-03 16:16 UTC (permalink / raw)
To: Paulo Ricardo Paz Vital; +Cc: imammedo, pkrempa, qemu-devel
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.
>
> > +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.
>
> > + - "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
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] docs: add memory-hotplug.txt
2015-03-03 16:16 ` Luiz Capitulino
@ 2015-03-04 8:16 ` Paulo Ricardo Paz Vital
2015-03-04 15:50 ` Luiz Capitulino
0 siblings, 1 reply; 18+ messages in thread
From: Paulo Ricardo Paz Vital @ 2015-03-04 8:16 UTC (permalink / raw)
To: Luiz Capitulino; +Cc: imammedo, pkrempa, qemu-devel
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?
> >
> > > +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
> >
>
--
Paulo Ricardo Paz Vital <paulo.vital@profitbricks.com>
ProfitBricks GmbH
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] docs: add memory-hotplug.txt
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-04 12:04 ` Igor Mammedov
2015-03-04 17:00 ` Paulo Ricardo Paz Vital
2 siblings, 0 replies; 18+ messages in thread
From: Igor Mammedov @ 2015-03-04 12:04 UTC (permalink / raw)
To: Luiz Capitulino; +Cc: pkrempa, qemu-devel, paulo.vital
On Tue, 3 Mar 2015 09:47:26 -0500
Luiz Capitulino <lcapitulino@redhat.com> wrote:
> This document describes how to use memory hotplug in QEMU.
>
> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@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
> +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 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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] docs: add memory-hotplug.txt
2015-03-04 8:16 ` Paulo Ricardo Paz Vital
@ 2015-03-04 15:50 ` Luiz Capitulino
0 siblings, 0 replies; 18+ messages in thread
From: Luiz Capitulino @ 2015-03-04 15:50 UTC (permalink / raw)
To: Paulo Ricardo Paz Vital; +Cc: imammedo, pkrempa, qemu-devel
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
> > >
> >
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] qemu-options.hx: improve -m description
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
1 sibling, 0 replies; 18+ messages in thread
From: Paulo Ricardo Paz Vital @ 2015-03-04 17:00 UTC (permalink / raw)
To: Luiz Capitulino; +Cc: imammedo, pkrempa, qemu-devel
On Tue, 2015-03-03 at 09:47 -0500, Luiz Capitulino wrote:
> Add memory hotplug options to the command-line format. Also,
> add a complete command-line example and improve description.
>
> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
> ---
> qemu-options.hx | 22 +++++++++++++++++-----
> 1 file changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/qemu-options.hx b/qemu-options.hx
> index 85ca3ad..b0345ae 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -237,12 +237,24 @@ DEF("m", HAS_ARG, QEMU_OPTION_m,
> "NOTE: Some architectures might enforce a specific granularity\n",
> QEMU_ARCH_ALL)
> STEXI
> -@item -m [size=]@var{megs}
> +@item -m [size=]@var{megs}[,slots=n,maxmem=size]
> @findex -m
> -Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB. Optionally,
> -a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
> -gigabytes respectively. Optional pair @var{slots}, @var{maxmem} could be used
> -to set amount of hotluggable memory slots and possible maximum amount of memory.
> +Sets guest startup RAM size to @var{megs} megabytes. Default is 128 MiB.
> +Optionally, a suffix of ``M'' or ``G'' can be used to signify a value in
> +megabytes or gigabytes respectively. Optional pair @var{slots}, @var{maxmem}
> +could be used to set amount of hotpluggable memory slots and maximum amount of
> +memory. Note that @var{maxmem} must be aligned to the page size.
> +
> +For example, the following command-line sets the guest startup RAM size to
> +1GB, creates 3 slots to hotplug additional memory and sets the maximum
> +memory the guest can reach to 4GB:
> +
> +@example
> +qemu-system-x86_64 -m 1G,slots=3,maxmem=4G
> +@end example
> +
> +If @var{slots} and @var{maxmem} are not specified, memory hotplug won't
> +be enabled and the guest startup RAM will never increase.
> ETEXI
>
> DEF("mem-path", HAS_ARG, QEMU_OPTION_mempath,
Reviewed-by: Paulo Vital <paulo.vital@profitbricks.com>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] docs: add memory-hotplug.txt
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-04 12:04 ` Igor Mammedov
@ 2015-03-04 17:00 ` Paulo Ricardo Paz Vital
2 siblings, 0 replies; 18+ messages in thread
From: Paulo Ricardo Paz Vital @ 2015-03-04 17:00 UTC (permalink / raw)
To: Luiz Capitulino; +Cc: imammedo, pkrempa, qemu-devel
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
> +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 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
Reviewed-by: Paulo Vital <paulo.vital@profitbricks.com>
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2015-03-04 17:00 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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 1/2] qemu-options.hx: improve -m description Luiz Capitulino
2015-03-03 13:06 ` Igor Mammedov
2015-03-03 13:32 ` Paulo Ricardo Paz Vital
2015-03-03 14:18 ` 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 1/2] qemu-options.hx: improve -m description Luiz Capitulino
2015-03-02 14:50 ` Peter Krempa
2015-03-02 15:03 ` Igor Mammedov
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).