|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] x86/NUMA: cleanup
commit 2c43ac6e9308768bcfb1568895738f6cd49582bf
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Thu Aug 11 13:36:42 2016 +0200
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu Aug 11 13:36:42 2016 +0200
x86/NUMA: cleanup
- drop the only left CONFIG_NUMA conditional (this is always true)
- drop struct node_data's node_id field (being always equal to the
node_data[] array index used)
- don't open code node_{start,end}_pfn() nor node_spanned_pages()
except when used as lvalues (those could be converted too, but this
seems a little awkward)
- no longer open code pfn_to_paddr() in an expression being modified
anyway
- make dump less verbose by logging actual vs intended node IDs only
when they don't match
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
xen/arch/x86/numa.c | 16 +++++++---------
xen/arch/x86/x86_64/mm.c | 10 +++++-----
xen/include/asm-x86/numa.h | 7 -------
3 files changed, 12 insertions(+), 21 deletions(-)
diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index b66d123..6f4d438 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -179,7 +179,6 @@ void __init setup_node_bootmem(nodeid_t nodeid, u64 start,
u64 end)
start_pfn = start >> PAGE_SHIFT;
end_pfn = end >> PAGE_SHIFT;
- NODE_DATA(nodeid)->node_id = nodeid;
NODE_DATA(nodeid)->node_start_pfn = start_pfn;
NODE_DATA(nodeid)->node_spanned_pages = end_pfn - start_pfn;
@@ -390,16 +389,15 @@ static void dump_numa(unsigned char key)
for_each_online_node ( i )
{
- paddr_t pa = (paddr_t)(NODE_DATA(i)->node_start_pfn + 1)<< PAGE_SHIFT;
- printk("idx%d -> NODE%d start->%lu size->%lu free->%lu\n",
- i, NODE_DATA(i)->node_id,
- NODE_DATA(i)->node_start_pfn,
- NODE_DATA(i)->node_spanned_pages,
+ paddr_t pa = pfn_to_paddr(node_start_pfn(i) + 1);
+
+ printk("NODE%u start->%lu size->%lu free->%lu\n",
+ i, node_start_pfn(i), node_spanned_pages(i),
avail_node_heap_pages(i));
/* sanity check phys_to_nid() */
- printk("phys_to_nid(%"PRIpaddr") -> %d should be %d\n", pa,
- phys_to_nid(pa),
- NODE_DATA(i)->node_id);
+ if ( phys_to_nid(pa) != i )
+ printk("phys_to_nid(%"PRIpaddr") -> %d should be %u\n",
+ pa, phys_to_nid(pa), i);
}
j = cpumask_first(&cpu_online_map);
diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c
index ff9fc43..7f858fb 100644
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -1386,21 +1386,21 @@ int memory_add(unsigned long spfn, unsigned long epfn,
unsigned int pxm)
goto destroy_directmap;
}
- old_node_start = NODE_DATA(node)->node_start_pfn;
- old_node_span = NODE_DATA(node)->node_spanned_pages;
+ old_node_start = node_start_pfn(node);
+ old_node_span = node_spanned_pages(node);
orig_online = node_online(node);
if ( !orig_online )
{
dprintk(XENLOG_WARNING, "node %x pxm %x is not online\n",node, pxm);
- NODE_DATA(node)->node_id = node;
NODE_DATA(node)->node_start_pfn = spfn;
NODE_DATA(node)->node_spanned_pages =
epfn - node_start_pfn(node);
node_set_online(node);
- }else
+ }
+ else
{
- if (NODE_DATA(node)->node_start_pfn > spfn)
+ if (node_start_pfn(node) > spfn)
NODE_DATA(node)->node_start_pfn = spfn;
if (node_end_pfn(node) < epfn)
NODE_DATA(node)->node_spanned_pages = epfn - node_start_pfn(node);
diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
index 1c5ad37..2479238 100644
--- a/xen/include/asm-x86/numa.h
+++ b/xen/include/asm-x86/numa.h
@@ -40,7 +40,6 @@ extern void srat_detect_node(int cpu);
extern void setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end);
extern nodeid_t apicid_to_node[];
-#ifdef CONFIG_NUMA
extern void init_cpu_to_node(void);
static inline void clear_node_cpumask(int cpu)
@@ -56,7 +55,6 @@ extern u8 *memnodemap;
struct node_data {
unsigned long node_start_pfn;
unsigned long node_spanned_pages;
- nodeid_t node_id;
};
extern struct node_data node_data[];
@@ -78,11 +76,6 @@ static inline __attribute__((pure)) nodeid_t
phys_to_nid(paddr_t addr)
NODE_DATA(nid)->node_spanned_pages)
extern int valid_numa_range(u64 start, u64 end, nodeid_t node);
-#else
-#define init_cpu_to_node() do {} while (0)
-#define clear_node_cpumask(cpu) do {} while (0)
-#define valid_numa_range(start, end, node) 1
-#endif
void srat_parse_regions(u64 addr);
extern u8 __node_distance(nodeid_t a, nodeid_t b);
--
generated by git-patchbot for /home/xen/git/xen.git#master
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |