All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wei Liu <wei.liu2@citrix.com>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wei.liu2@citrix.com,
	samuel.thibault@ens-lyon.org
Subject: Re: [Minios-devel] [PATCH v3 00/19] mini-os: support of auto-ballooning
Date: Fri, 12 Aug 2016 13:48:09 +0100	[thread overview]
Message-ID: <20160812124809.GJ20641@citrix.com> (raw)
In-Reply-To: <20160812114231.GI20641@citrix.com>

On Fri, Aug 12, 2016 at 12:42:31PM +0100, Wei Liu wrote:
> On Thu, Aug 11, 2016 at 11:18:03AM +0200, Juergen Gross wrote:
> > Support ballooning Mini-OS automatically up in case of memory shortage.
> > 
> > Do some cleanups, a small correction and add some basic features to
> > lay groundwork for support of ballooning in Mini-OS (patches 1-14).
> > 
> > The main visible change is the virtual memory layout: to be able to
> > add memory to the running Mini-OS we need to have some spare areas
> > especially after the 1:1 mapping of physical memory.
> > 
> > Then add the ballooning functionality: the p2m map must be expanded,
> > the page allocator's bitmap must  be expanded and we must get new
> > memory from the hypervisor.
> > 
> > In case of a detected memory shortage the domain will balloon up until
> > either enough memory is available or the upper limit has been reached.
> > 
> > Ballooning has been tested with a xenstore stubdom.
> > Regression tests have been done with:
> > - pure mini-os
> > - ioemu stubdom
> > - pvgrub 64 bit
> > 
> 
> Unfortunately vtmpmgr stubdom build failed. :-/
> 


And that's probably because vtpmmgr uses printk or whatever...

Here is a patch that seems to fix the build:

---8<---
From d72510368cdc3c73af3c8918a404a8137f40bd9c Mon Sep 17 00:00:00 2001
From: Wei Liu <wei.liu2@citrix.com>
Date: Fri, 12 Aug 2016 11:32:57 +0100
Subject: [PATCH] x86/arch_mm.h: move p2m_chk_pfn to x86/mm.c

Making that function inlined won't buy us much and is causing error in
vtpm manager stubdom build.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
 arch/x86/mm.c         |  9 +++++++++
 include/x86/arch_mm.h | 11 +++--------
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/arch/x86/mm.c b/arch/x86/mm.c
index 8fa3b4c..88a928d 100644
--- a/arch/x86/mm.c
+++ b/arch/x86/mm.c
@@ -608,6 +608,15 @@ static void clear_bootstrap(void)
         printk("Unable to unmap NULL page. rc=%d\n", rc);
 }
 
+void p2m_chk_pfn(unsigned long pfn)
+{
+    if ( (pfn >> L3_P2M_SHIFT) > 0 )
+    {
+        printk("Error: Too many pfns.\n");
+        do_exit();
+    }
+}
+
 void arch_init_p2m(unsigned long max_pfn)
 {
     unsigned long *l2_list = NULL, *l3_list;
diff --git a/include/x86/arch_mm.h b/include/x86/arch_mm.h
index e5d9c57..690a919 100644
--- a/include/x86/arch_mm.h
+++ b/include/x86/arch_mm.h
@@ -190,14 +190,9 @@ typedef unsigned long pgentry_t;
 #define L2_P2M_IDX(pfn) (((pfn) >> L1_P2M_SHIFT) & P2M_MASK)
 #define L3_P2M_IDX(pfn) (((pfn) >> L2_P2M_SHIFT) & P2M_MASK)
 #define INVALID_P2M_ENTRY (~0UL)
-static inline void p2m_chk_pfn(unsigned long pfn)
-{
-    if ( (pfn >> L3_P2M_SHIFT) > 0 )
-    {
-        printk("Error: Too many pfns.\n");
-        do_exit();
-    }
-}
+
+void p2m_chk_pfn(unsigned long pfn);
+
 static inline unsigned long p2m_pages(unsigned long pages)
 {
     return (pages + P2M_ENTRIES - 1) >> L1_P2M_SHIFT;
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  reply	other threads:[~2016-08-12 12:48 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-11  9:18 [PATCH v3 00/19] mini-os: support of auto-ballooning Juergen Gross
2016-08-11  9:18 ` [PATCH v3 01/19] mini-os: correct first free pfn Juergen Gross
2016-08-11  9:18 ` [PATCH v3 02/19] mini-os: remove unused alloc_contig_pages() function Juergen Gross
2016-08-11  9:18 ` [PATCH v3 03/19] mini-os: remove MM_DEBUG code Juergen Gross
2016-08-11  9:18 ` [PATCH v3 04/19] mini-os: add description of x86 memory usage Juergen Gross
2016-08-11  9:18 ` [PATCH v3 05/19] mini-os: add nr_free_pages counter Juergen Gross
2016-08-11  9:18 ` [PATCH v3 06/19] mini-os: let memory allocation fail if no free page available Juergen Gross
2016-08-11  9:18 ` [PATCH v3 07/19] mini-os: add ballooning config item Juergen Gross
2016-08-11  9:18 ` [PATCH v3 08/19] mini-os: get maximum memory size from hypervisor Juergen Gross
2016-08-11  9:18 ` [PATCH v3 09/19] mini-os: modify virtual memory layout for support of ballooning Juergen Gross
2016-08-11  9:18 ` [PATCH v3 10/19] mini-os: remove unused mem_test() function Juergen Gross
2016-08-11  9:18 ` [PATCH v3 11/19] mini-os: add checks for out of memory Juergen Gross
2016-08-11  9:18 ` [PATCH v3 12/19] mini-os: don't allocate new pages for level 1 p2m tree Juergen Gross
2016-08-11  9:18 ` [PATCH v3 13/19] mini-os: add function to map one frame Juergen Gross
2016-08-11  9:18 ` [PATCH v3 14/19] mini-os: move p2m related macros to header file Juergen Gross
2016-08-11  9:18 ` [PATCH v3 15/19] mini-os: remap p2m list in case of ballooning Juergen Gross
2016-08-11  9:18 ` [PATCH v3 16/19] mini-os: map page allocator's bitmap to virtual kernel area for ballooning Juergen Gross
2016-08-11  9:40   ` Samuel Thibault
2016-08-11 10:19     ` Juergen Gross
2016-08-11 10:21       ` Wei Liu
2016-08-11 10:26         ` Juergen Gross
2016-08-11 10:21       ` Samuel Thibault
2016-08-11  9:18 ` [PATCH v3 17/19] mini-os: add support for ballooning up Juergen Gross
2016-08-11  9:18 ` [PATCH v3 18/19] mini-os: balloon up in case of oom Juergen Gross
2016-08-11  9:18 ` [PATCH v3 19/19] mini-os: repair build system Juergen Gross
2016-08-11 15:11   ` Wei Liu
2016-08-11 19:50   ` Samuel Thibault
2016-08-11 12:13 ` [Minios-devel] [PATCH v3 00/19] mini-os: support of auto-ballooning Wei Liu
2016-08-12 11:42 ` Wei Liu
2016-08-12 12:48   ` Wei Liu [this message]
2016-08-12 13:04     ` Samuel Thibault

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=20160812124809.GJ20641@citrix.com \
    --to=wei.liu2@citrix.com \
    --cc=jgross@suse.com \
    --cc=minios-devel@lists.xenproject.org \
    --cc=samuel.thibault@ens-lyon.org \
    --cc=xen-devel@lists.xenproject.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 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.