[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 1/9] xen/x86: introduce a helper to update memory hotplug end
On 08.07.2022 16:54, Wei Chen wrote: > x86 provides a mem_hotplug variable to maintain the memory hotplug > end address. We want to move some codes from x86 to common, so that > it can be reused by other architectures. But not all architectures > have supported memory hotplug. So in this patch, we introduce this > helper to replace mem_hotplug direct access in these codes. This > will give the ability of stubbing this helper to those architectures > without memory hotplug support. What remains unclear to me is why Arm can't simply gain the necessary variable. Sooner or later you'll want to support hotplug there anyway, I suppose. Mechanically the change is fine. Albeit maybe "top" instead of "boundary", and maybe also pass "node" even if x86 doesn't need it? Jan > Signed-off-by: Wei Chen <wei.chen@xxxxxxx> > --- > v1 -> v2: > 1. Refine the commit message. > 2. Merge v1 patch#9,10 into one patch. Introduce the new functions > in the same patch that this patch will be used first time. > 3. Fold if ( end > mem_hotplug ) to mem_hotplug_update_boundary, > in this case, we can drop mem_hotplug_boundary. > --- > xen/arch/x86/include/asm/mm.h | 6 ++++++ > xen/arch/x86/srat.c | 3 +-- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h > index 07b59c982b..b3dfbdb52b 100644 > --- a/xen/arch/x86/include/asm/mm.h > +++ b/xen/arch/x86/include/asm/mm.h > @@ -476,6 +476,12 @@ static inline int get_page_and_type(struct page_info > *page, > > extern paddr_t mem_hotplug; > > +static inline void mem_hotplug_update_boundary(paddr_t end) > +{ > + if ( end > mem_hotplug ) > + mem_hotplug = end; > +} > + > > /****************************************************************************** > * With shadow pagetables, the different kinds of address start > * to get get confusing. > diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c > index b62a152911..f53431f5e8 100644 > --- a/xen/arch/x86/srat.c > +++ b/xen/arch/x86/srat.c > @@ -418,8 +418,7 @@ acpi_numa_memory_affinity_init(const struct > acpi_srat_mem_affinity *ma) > memblk_nodeid[num_node_memblks] = node; > if (ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE) { > __set_bit(num_node_memblks, memblk_hotplug); > - if (end > mem_hotplug) > - mem_hotplug = end; > + mem_hotplug_update_boundary(end); > } > num_node_memblks++; > }
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |