[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86: correct socket_cpumask allocation for AP
On 07/08/2015 11:38 AM, Jan Beulich wrote: On 08.07.15 at 17:11, <dario.faggioli@xxxxxxxxxx> wrote:On Wed, 2015-07-08 at 13:38 +0100, Jan Beulich wrote:On 08.07.15 at 11:36, <chao.p.peng@xxxxxxxxxxxxxxx> wrote:@@ -84,11 +85,21 @@ void *stack_base[NR_CPUS]; static void smp_store_cpu_info(int id) { struct cpuinfo_x86 *c = cpu_data + id; + unsigned int socket;*c = boot_cpu_data;if ( id != 0 ) + { identify_cpu(c);+ socket = cpu_to_socket(id);+ if ( !socket_cpumask[socket] ) + { + socket_cpumask[socket] = secondary_socket_cpumask; + secondary_socket_cpumask = NULL;I don't think this will build with small enough NR_CPUS.And it *does* *not* fix the issue on my box.I.e. bad analysis (albeit it seemed correct to me) _and_ new code not tested. Chao, one more try, or we'll have to revert the whole series (closing the window for it for 4.6). FWIW, this fixes it for me: diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c index c73aa1b..a93c723 100644 --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -707,6 +707,8 @@ static int cpu_smpboot_alloc(unsigned int cpu) unsigned long stub_page; unsigned int socket = cpu_to_socket(cpu); + socket = cpu >> 4; + if ( node != NUMA_NO_NODE ) memflags = MEMF_node(node); But I suspect this is not what you want ;-) -boris _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |