Messages in this thread | | | Subject | Re: [PATCH v3] x86/numa_emulation: Fix uniform-split numa emulation | From | Dave Hansen <> | Date | Thu, 25 Oct 2018 13:52:04 -0700 |
| |
On 10/25/18 1:26 PM, Dan Williams wrote: > --- a/arch/x86/mm/numa_emulation.c > +++ b/arch/x86/mm/numa_emulation.c > @@ -400,9 +400,17 @@ void __init numa_emulation(struct numa_meminfo *numa_meminfo, int numa_dist_cnt) > n = simple_strtoul(emu_cmdline, &emu_cmdline, 0); > ret = -1; > for_each_node_mask(i, physnode_mask) { > + /* > + * The reason we pass in blk[0] is due to > + * numa_remove_memblk_from() called by > + * emu_setup_memblk() will delete entry 0 > + * and then move everything else up in the pi.blk > + * array. Therefore we should always be looking > + * at blk[0]. > + */ > ret = split_nodes_size_interleave_uniform(&ei, &pi, > - pi.blk[i].start, pi.blk[i].end, 0, > - n, &pi.blk[i], nid); > + pi.blk[0].start, pi.blk[0].end, 0, > + n, &pi.blk[0], nid);
So, has this *ever* worked on a multi-socket configuration? Or has it just never been run on a multi-socket configuration?
Either way, nice changelog, and nice comments. I'd have some minor nits if you have to respin it, but otherwise:
Reviewed-by: Dave Hansen <dave.hansen@linux.intel.com>
| |