[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 0/6] xen,xend,tools: Add NUMA support to Xen



Le Mardi 01 Août 2006 17:40, Ryan Harper a écrit :
> * Tristan Gingold <Tristan.Gingold@xxxxxxxx> [2006-08-01 02:43]:
> > Le Lundi 31 Juillet 2006 21:09, Ryan Harper a écrit :
> > > I've respun the NUMA patches against 10874 and I'm re-submitting them
> > > with the optimizations mentioned [1]previously on the list.  There was
> > > a request to see the overhead on non-numa/single-node machines.  I've
> > > re-run those benchmarks (ballooning up from small mem to multi-gig) as
> > > well as timing the initially domain increase_reservation time to gauge
> > > the overhead when allocating from the heap.
> >
> > Hi,
> >
> > I am trying to use your patch on ia64.
>
> Thanks for testing these out on ia64.
>
> > In asm-x86/topology.h, you wrote:
> >
> > extern unsigned int cpu_to_node[];
> > extern cpumask_t     node_to_cpumask[];
> >
> > #define cpu_to_node(cpu)            (cpu_to_node[cpu])
> > #define parent_node(node)           (node)
> > #define node_to_first_cpu(node)  (__ffs(node_to_cpumask[node]))
> > #define node_to_cpumask(node)    (node_to_cpumask[node])
> >
> > I think cpu_to_node and node_to_cpumask must be either a variable or a
> > macro, but not both! (ia64 defines cpu_to_node as a macro).
>
> I'm not sure about this, but the definition of both the variable and
> macro come from Linux, for example in
[...]
> AFAIK, this isn't an issue.
Except you are using both versions mainly the macro but at least the variable 
once in page_alloc.c:

/* Allocate 2^@order contiguous pages. */
struct page_info *alloc_heap_pages(unsigned int zone, unsigned int cpu,
                                   unsigned int order)
{
    unsigned int i,j, node = cpu_to_node[cpu], num_nodes = num_online_nodes();
    unsigned int request = (1UL << order);

This was a problem for ia64.
Furthermore you define the variable in xen/numa.h:
extern unsigned int cpu_to_node[];
#include <xen/cpumask.h>
extern cpumask_t node_to_cpumask[];

Which one is the API ?

Tristan.

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.