Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1308664 > unrolled thread
| Started by | Vitaly Kuznetsov <vkuznets@redhat.com> |
|---|---|
| First post | 2016-01-13 18:40 +0100 |
| Last post | 2016-01-14 11:30 +0100 |
| Articles | 3 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH v5 2/2] xen_balloon: support memory auto onlining policy Vitaly Kuznetsov <vkuznets@redhat.com> - 2016-01-13 18:40 +0100
Re: [PATCH v5 2/2] xen_balloon: support memory auto onlining policy Daniel Kiper <daniel.kiper@oracle.com> - 2016-01-13 21:50 +0100
Re: [PATCH v5 2/2] xen_balloon: support memory auto onlining policy David Vrabel <david.vrabel@citrix.com> - 2016-01-14 11:30 +0100
| From | Vitaly Kuznetsov <vkuznets@redhat.com> |
|---|---|
| Date | 2016-01-13 18:40 +0100 |
| Subject | [PATCH v5 2/2] xen_balloon: support memory auto onlining policy |
| Message-ID | <qQxyO-300-5@gated-at.bofh.it> |
Add support for the newly added kernel memory auto onlining policy to Xen
ballon driver.
Suggested-by: Daniel Kiper <daniel.kiper@oracle.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
Changes since v4:
- 'dom0' -> 'control domain', 'domU' -> 'target domain' in Kconfig
[David Vrabel]
- always call add_memory_resource() with memhp_auto_online [David Vrabel]
---
drivers/xen/Kconfig | 20 +++++++++++++-------
drivers/xen/balloon.c | 11 ++++++++++-
2 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index 73708ac..addcb7f 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -37,23 +37,29 @@ config XEN_BALLOON_MEMORY_HOTPLUG
Memory could be hotplugged in following steps:
- 1) dom0: xl mem-max <domU> <maxmem>
+ 1) target domain: ensure that memory auto online policy is in
+ effect by checking /sys/devices/system/memory/auto_online_blocks
+ file (should be 'online').
+
+ 2) control domain: xl mem-max <target-domain> <maxmem>
where <maxmem> is >= requested memory size,
- 2) dom0: xl mem-set <domU> <memory>
+ 3) control domain: xl mem-set <target-domain> <memory>
where <memory> is requested memory size; alternatively memory
could be added by writing proper value to
/sys/devices/system/xen_memory/xen_memory0/target or
/sys/devices/system/xen_memory/xen_memory0/target_kb on dumU,
- 3) domU: for i in /sys/devices/system/memory/memory*/state; do \
- [ "`cat "$i"`" = offline ] && echo online > "$i"; done
+ Alternatively, if memory auto onlining was not requested at step 1
+ the newly added memory can be manually onlined in the target domain
+ by doing the following:
- Memory could be onlined automatically on domU by adding following line to udev rules:
+ for i in /sys/devices/system/memory/memory*/state; do \
+ [ "`cat "$i"`" = offline ] && echo online > "$i"; done
- SUBSYSTEM=="memory", ACTION=="add", RUN+="/bin/sh -c '[ -f /sys$devpath/state ] && echo online > /sys$devpath/state'"
+ or by adding the following line to udev rules:
- In that case step 3 should be omitted.
+ SUBSYSTEM=="memory", ACTION=="add", RUN+="/bin/sh -c '[ -f /sys$devpath/state ] && echo online > /sys$devpath/state'"
config XEN_BALLOON_MEMORY_HOTPLUG_LIMIT
int "Hotplugged memory limit (in GiB) for a PV guest"
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index 890c3b5..f8cca0c 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -338,7 +338,16 @@ static enum bp_state reserve_additional_memory(void)
}
#endif
- rc = add_memory_resource(nid, resource, false);
+ /*
+ * add_memory_resource() will call online_pages() which in its turn
+ * will call xen_online_page() callback causing deadlock if we don't
+ * release balloon_mutex here. Unlocking here is safe because the
+ * callers drop the mutex before trying again.
+ */
+ mutex_unlock(&balloon_mutex);
+ rc = add_memory_resource(nid, resource, memhp_auto_online);
+ mutex_lock(&balloon_mutex);
+
if (rc) {
pr_warn("Cannot add additional memory (%i)\n", rc);
goto err;
--
2.5.0
[toc] | [next] | [standalone]
| From | Daniel Kiper <daniel.kiper@oracle.com> |
|---|---|
| Date | 2016-01-13 21:50 +0100 |
| Message-ID | <qQAwF-50b-7@gated-at.bofh.it> |
| In reply to | #1308664 |
On Wed, Jan 13, 2016 at 06:32:30PM +0100, Vitaly Kuznetsov wrote: > Add support for the newly added kernel memory auto onlining policy to Xen > ballon driver. > > Suggested-by: Daniel Kiper <daniel.kiper@oracle.com> > Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> In general Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> but one nitpick below... Thank you for doing this work. > --- > Changes since v4: > - 'dom0' -> 'control domain', 'domU' -> 'target domain' in Kconfig > [David Vrabel] > - always call add_memory_resource() with memhp_auto_online [David Vrabel] > --- > drivers/xen/Kconfig | 20 +++++++++++++------- > drivers/xen/balloon.c | 11 ++++++++++- > 2 files changed, 23 insertions(+), 8 deletions(-) > > diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig > index 73708ac..addcb7f 100644 > --- a/drivers/xen/Kconfig > +++ b/drivers/xen/Kconfig > @@ -37,23 +37,29 @@ config XEN_BALLOON_MEMORY_HOTPLUG > > Memory could be hotplugged in following steps: > > - 1) dom0: xl mem-max <domU> <maxmem> > + 1) target domain: ensure that memory auto online policy is in > + effect by checking /sys/devices/system/memory/auto_online_blocks > + file (should be 'online'). > + > + 2) control domain: xl mem-max <target-domain> <maxmem> > where <maxmem> is >= requested memory size, > > - 2) dom0: xl mem-set <domU> <memory> > + 3) control domain: xl mem-set <target-domain> <memory> > where <memory> is requested memory size; alternatively memory > could be added by writing proper value to > /sys/devices/system/xen_memory/xen_memory0/target or > /sys/devices/system/xen_memory/xen_memory0/target_kb on dumU, Please change "dumU" to "target domain". Daniel
[toc] | [prev] | [next] | [standalone]
| From | David Vrabel <david.vrabel@citrix.com> |
|---|---|
| Date | 2016-01-14 11:30 +0100 |
| Message-ID | <qQNke-5Dw-13@gated-at.bofh.it> |
| In reply to | #1308664 |
On 13/01/16 17:32, Vitaly Kuznetsov wrote: > Add support for the newly added kernel memory auto onlining policy to Xen > ballon driver. Acked-by: David Vrabel <david.vrabel@citrix.com> Thanks. David
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web