[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 Jeudi 03 Août 2006 00:29, Ryan Harper a écrit : > * Tristan Gingold <Tristan.Gingold@xxxxxxxx> [2006-08-02 00:56]: > > 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 ? > > If ia64 is already using macros, then we should use the macros. I > should be able to remove those externs from numa.h and include the > asm/topology.h (not in xen/numa.h since that is the same thing) > in the .c files , like page_alloc.c, and use the macros instead. > > Something like this (compiled on x86_64): [...] Yes, this would be fine for me. Thank you for your NUMA work, Tristan. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |