[+akpm] Hi Thunder, On Fri, Sep 29, 2017 at 05:53:25PM +0800, Zhen Lei wrote: > When I executed numactl -H(which read /sys/devices/system/node/nodeX/cpumap > and display cpumask_of_node for each node), but I got different result on > X86 and arm64. For each numa node, the former only displayed online CPUs, > and the latter displayed all possible CPUs. Unfortunately, both Linux > documentation and numactl manual have not described it clear. > > I sent a mail to ask for help, and Michal Hocko <mhocko@xxxxxxxxxx> replied > that he preferred to print online cpus because it doesn't really make much > sense to bind anything on offline nodes. > > Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> > Acked-by: Michal Hocko <mhocko@xxxxxxxx> > --- > drivers/base/node.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) Which tree is this intended to go through? I'm happy to take it via arm64, but I don't want to tread on anybody's toes in linux-next and it looks like there are already queued changes to this file via Andrew's tree. Will > diff --git a/drivers/base/node.c b/drivers/base/node.c > index 3855902..aae2402 100644 > --- a/drivers/base/node.c > +++ b/drivers/base/node.c > @@ -27,13 +27,21 @@ static struct bus_type node_subsys = { > > static ssize_t node_read_cpumap(struct device *dev, bool list, char *buf) > { > + ssize_t n; > + cpumask_var_t mask; > struct node *node_dev = to_node(dev); > - const struct cpumask *mask = cpumask_of_node(node_dev->dev.id); > > /* 2008/04/07: buf currently PAGE_SIZE, need 9 chars per 32 bits. */ > BUILD_BUG_ON((NR_CPUS/32 * 9) > (PAGE_SIZE-1)); > > - return cpumap_print_to_pagebuf(list, buf, mask); > + if (!alloc_cpumask_var(&mask, GFP_KERNEL)) > + return 0; > + > + cpumask_and(mask, cpumask_of_node(node_dev->dev.id), cpu_online_mask); > + n = cpumap_print_to_pagebuf(list, buf, mask); > + free_cpumask_var(mask); > + > + return n; > } > > static inline ssize_t node_read_cpumask(struct device *dev, > -- > 2.5.0 > > -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html