On Tue, 2015-02-10 at 10:41 +0000, Andrew Cooper wrote:
> On 09/02/15 20:04, Boris Ostrovsky wrote:
> > diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
> > index 29fc724..4dfa1c3 100644
> > --- a/xen/arch/x86/srat.c
> > +++ b/xen/arch/x86/srat.c
> > @@ -21,13 +21,16 @@
> > #include <asm/e820.h>
> > #include <asm/page.h>
> >
> > +#define MAX_PXM 255
> > +
> > static struct acpi_table_slit *__read_mostly acpi_slit;
> >
> > static nodemask_t memory_nodes_parsed __initdata;
> > static nodemask_t processor_nodes_parsed __initdata;
> > static nodemask_t nodes_found __initdata;
> > static struct node nodes[MAX_NUMNODES] __initdata;
> > -static u8 __read_mostly pxm2node[256] = { [0 ... 255] = NUMA_NO_NODE };
> > +static u8 __read_mostly pxm2node[MAX_PXM + 1] =
> > + { [0 ... MAX_PXM] = NUMA_NO_NODE };
> >
> >
> > static int num_node_memblks;
> > @@ -37,21 +40,29 @@ static int memblk_nodeid[NR_NODE_MEMBLKS];
> >
> > static int node_to_pxm(int n);
> >
> > -int pxm_to_node(int pxm)
> > +u8 pxm_to_node(int pxm)
>
> You can make these parameters unsigned and do away with the unsigned
> casting. pxm appears to be unsigned in all the relevant call chains.
>
+1
> > diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
> > index 5959860..2a43827 100644
> > --- a/xen/include/asm-x86/numa.h
> > +++ b/xen/include/asm-x86/numa.h
> > @@ -21,7 +21,7 @@ struct node {
> >
> > extern int compute_hash_shift(struct node *nodes, int numnodes,
> > int *nodeids);
> > -extern int pxm_to_node(int nid);
> > +extern u8 pxm_to_node(int nid);
>
> The parameter should presumably be named pxm?
>
+1 :-)
Regards,
Dario
Attachment:
signature.asc
Description: This is a digitally signed message part