WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

[Xen-devel] Re: [PATCH] kexec/kdump: statically allocate xen_phys_cpus

To: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>
Subject: [Xen-devel] Re: [PATCH] kexec/kdump: statically allocate xen_phys_cpus
From: Horms <horms@xxxxxxxxxxxx>
Date: Thu, 20 Sep 2007 18:38:08 +0900
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 20 Sep 2007 02:39:20 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1190279701.24550.11.camel@xxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20070920043851.AACDF4FD96@xxxxxxxxxxxxxxxxxxxxxxxxxxx> <1190279701.24550.11.camel@xxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: mutt-ng/devel-r804 (Debian)
On Thu, Sep 20, 2007 at 10:15:01AM +0100, Ian Campbell wrote:
> You posted to xen-ia64-devel & xen-ia64 (deleted the wrong word?)
> rather than xen-devel so I added that to the CC.

Thanks. I've trimmed xen-ia64

> On Thu, 2007-09-20 at 13:38 +0900, Simon Horman wrote:
> > On IA64 alloc_bootmem_low() can't be called this early.
> > 
> > Before alloc_bootmem_low() can be called init_bootmem(), which is called in
> > find_memory(). However xen_machine_kexec_setup_resources() is indirectly
> > called earlier on in find_memory().
> 
> Can the root cause not be fixed i.e. allow the call to
> alloc_bootmem_low() earlier or move the call to
> xen_machine_kexec_setup_resource() later, rather than papering over it
> by making a potentially large static array?

The last time that I looked, it seemed to be quite painful.
But I'll look over it again, I agree that the static array
should be avoided if possible.

> > Cc: Ian Campbell <ian.campbell@xxxxxxxxxxxxx>
> > Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx>
> > 
> > ---
> > Date: Thu, 20 Sep 2007 13:37:10 +0900
> > From: Simon Horman <horms@xxxxxxxxxxxx>
> > 
> > Posted to xen-devel as it changes common code.
> > As suggested by Alex Williamson.
> > 
> > Index: x/drivers/xen/core/machine_kexec.c
> > ===================================================================
> > --- x/drivers/xen/core/machine_kexec.c      2007-05-11 18:19:20.000000000 
> > +0900
> > +++ x/drivers/xen/core/machine_kexec.c      2007-05-14 19:18:03.000000000 
> > +0900
> > @@ -13,7 +13,7 @@ extern void machine_kexec_setup_load_arg
> >  
> >  static int __initdata xen_max_nr_phys_cpus;
> >  static struct resource xen_hypervisor_res;
> > -static struct resource *xen_phys_cpus;
> > +static struct resource xen_phys_cpus[NR_CPUS];
> >  
> >  void __init xen_machine_kexec_setup_resources(void)
> >  {
> > @@ -42,11 +42,6 @@ void xen_machine_kexec_setup_resources(v
> >  
> >     xen_max_nr_phys_cpus = k;
> >  
> > -   /* allocate xen_phys_cpus */
> > -
> > -   xen_phys_cpus = alloc_bootmem_low(k * sizeof(struct resource));
> > -   BUG_ON(xen_phys_cpus == NULL);
> > -
> >     /* fill in xen_phys_cpus with per-cpu crash note information */
> >  
> >     for (k = 0; k < xen_max_nr_phys_cpus; k++) {

-- 
Horms
  H: http://www.vergenet.net/~horms/
  W: http://www.valinux.co.jp/en/


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel