xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] xen: correct xenheap_bits after "xen: support RAM at addresses 0 and 4096"
@ 2013-10-03 10:06 Ian Campbell
  2013-10-04  9:47 ` Jan Beulich
  0 siblings, 1 reply; 2+ messages in thread
From: Ian Campbell @ 2013-10-03 10:06 UTC (permalink / raw)
  To: xen-devel; +Cc: Tim Deegan, Keir Fraser, Ian Campbell, jbeulich

This is incorrect after commit 1aac966e24e which shuffled the zones up by one.
I've observed failures on arm64 systems with RAM at 0x8,00000000-0x8,7fffffff
since xenheap_bits ends up as 35 instead of 36 (which is the zone with all the
RAM).

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Keir Fraser <keir@xen.org>
Cc: jbeulich@suse.com
Cc: Tim Deegan <tim@xen.org>
---
I suppose that MEMZONE_XEN is not really useful when !CONFIG_SEPARATE_XENHEAP
so in principal 1aac966e24e could be make conditional, but in reality
MEMZONE_XEN is at least referenced when !CONFIG_SEPARATE_XENHEAP so at least
some other cleanup would be needed. This fix seems simpler/clearer.
---
 xen/common/page_alloc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index fb8187b..4c17fbd 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1364,7 +1364,7 @@ static unsigned int __read_mostly xenheap_bits;
 
 void __init xenheap_max_mfn(unsigned long mfn)
 {
-    xenheap_bits = fls(mfn) + PAGE_SHIFT - 1;
+    xenheap_bits = fls(mfn) + PAGE_SHIFT;
 }
 
 void init_xenheap_pages(paddr_t ps, paddr_t pe)
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] xen: correct xenheap_bits after "xen: support RAM at addresses 0 and 4096"
  2013-10-03 10:06 [PATCH] xen: correct xenheap_bits after "xen: support RAM at addresses 0 and 4096" Ian Campbell
@ 2013-10-04  9:47 ` Jan Beulich
  0 siblings, 0 replies; 2+ messages in thread
From: Jan Beulich @ 2013-10-04  9:47 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel, Keir Fraser, Tim Deegan

>>> On 03.10.13 at 12:06, Ian Campbell <ian.campbell@citrix.com> wrote:
> This is incorrect after commit 1aac966e24e which shuffled the zones up by 
> one.
> I've observed failures on arm64 systems with RAM at 0x8,00000000-0x8,7fffffff
> since xenheap_bits ends up as 35 instead of 36 (which is the zone with all 
> the
> RAM).
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> Cc: Keir Fraser <keir@xen.org>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> Cc: Tim Deegan <tim@xen.org>
> ---
> I suppose that MEMZONE_XEN is not really useful when 
> !CONFIG_SEPARATE_XENHEAP
> so in principal 1aac966e24e could be make conditional, but in reality
> MEMZONE_XEN is at least referenced when !CONFIG_SEPARATE_XENHEAP so at least
> some other cleanup would be needed. This fix seems simpler/clearer.
> ---
>  xen/common/page_alloc.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index fb8187b..4c17fbd 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1364,7 +1364,7 @@ static unsigned int __read_mostly xenheap_bits;
>  
>  void __init xenheap_max_mfn(unsigned long mfn)
>  {
> -    xenheap_bits = fls(mfn) + PAGE_SHIFT - 1;
> +    xenheap_bits = fls(mfn) + PAGE_SHIFT;
>  }
>  
>  void init_xenheap_pages(paddr_t ps, paddr_t pe)
> -- 
> 1.7.10.4

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-10-04  9:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-03 10:06 [PATCH] xen: correct xenheap_bits after "xen: support RAM at addresses 0 and 4096" Ian Campbell
2013-10-04  9:47 ` Jan Beulich

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).