Hi Yunsheng, On Sat, Aug 31, 2019 at 01:58:22PM +0800, Yunsheng Lin wrote: > According to Section 6.2.14 from ACPI spec 6.3 [1], the setting > of proximity domain is optional, as below: > > This optional object is used to describe proximity domain > associations within a machine. _PXM evaluates to an integer > that identifies a device as belonging to a Proximity Domain > defined in the System Resource Affinity Table (SRAT). > > Since mips ip27 uses hub_data instead of node_to_cpumask_map, > this patch checks node id with the below case before returning > &hub_data(node)->h_cpus: > 1. if node_id >= MAX_COMPACT_NODES, return cpu_none_mask > 2. if node_id < 0, return cpu_online_mask > 3. if hub_data(node) is NULL, return cpu_online_mask > > [1] https://uefi.org/sites/default/files/resources/ACPI_6_3_final_Jan30.pdf
Similar to David's comment on the sparc patch, these systems don't use ACPI so I don't see from your commit message why this change would be relevant. This same comment applies to patch 9 too. Thanks, Paul > > Signed-off-by: Yunsheng Lin <linyunsh...@huawei.com> > --- > arch/mips/include/asm/mach-ip27/topology.h | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) > > diff --git a/arch/mips/include/asm/mach-ip27/topology.h > b/arch/mips/include/asm/mach-ip27/topology.h > index 965f079..914a55a 100644 > --- a/arch/mips/include/asm/mach-ip27/topology.h > +++ b/arch/mips/include/asm/mach-ip27/topology.h > @@ -15,9 +15,18 @@ struct cpuinfo_ip27 { > extern struct cpuinfo_ip27 sn_cpu_info[NR_CPUS]; > > #define cpu_to_node(cpu) (sn_cpu_info[(cpu)].p_nodeid) > -#define cpumask_of_node(node) ((node) == -1 ? > \ > - cpu_all_mask : \ > - &hub_data(node)->h_cpus) > + > +static inline const struct cpumask *cpumask_of_node(int node) > +{ > + if (node >= MAX_COMPACT_NODES) > + return cpu_none_mask; > + > + if (node < 0 || !hub_data(node)) > + return cpu_online_mask; > + > + return &hub_data(node)->h_cpus; > +} > + > struct pci_bus; > extern int pcibus_to_node(struct pci_bus *); > > -- > 2.8.1 >