Page 1 of 1

VBox on 192 CPU system

Posted: 9. Sep 2017, 02:20
by doones
Hello,

I am on a Centos 7 192 cpu system (SGI UV) and vbox is failing on cpuid's higher than 95 like there is a 96 cpu limit.
I an build the rpm and can run the rpm on my 40 cpu system but get this when running on the 192 cpu system.


Sep 8 17:58:27 marvin1 kernel: supdrvGipDetectGetGipCpuCallback: idCpu=0xa0 iCpuSet=160 idApic=0xa8 - duplicate APIC ID.
Sep 8 17:58:27 marvin1 kernel: supdrvGipDetectGetGipCpuCallback: idCpu=0x61 iCpuSet=97 idApic=0x2 - duplicate APIC ID.
Sep 8 17:58:27 marvin1 kernel: supdrvGipDetectGetGipCpuCallback: idCpu=0x6a iCpuSet=106 idApic=0x18 - duplicate APIC ID.
Sep 8 17:58:27 marvin1 kernel: supdrvGipDetectGetGipCpuCallback: idCpu=0x62 iCpuSet=98 idApic=0x4 - duplicate APIC ID.
Sep 8 17:58:27 marvin1 kernel: supdrvGipDetectGetGipCpuCallback: idCpu=0x99 iCpuSet=153 idApic=0x96 - duplicate APIC ID.
Sep 8 17:58:27 marvin1 kernel: supdrvGipDetectGetGipCpuCallback: idCpu=0x94 iCpuSet=148 idApic=0x88 - duplicate APIC ID.
Sep 8 17:58:27 marvin1 kernel: supdrvGipDetectGetGipCpuCallback: idCpu=0x85 iCpuSet=133 idApic=0x62 - duplicate APIC ID.
...snip..... 100 of these.

I tried upping the
/include/VBox/param.h:#define VMM_MAX_CPU_COUNT 200

It built but same error?

I also looked at (x86_64 ivybridge) My other UV has 512 cpus and they go up to 4096 cpus for SGI UV..
/** The maximum number of CPUs a set can contain and IPRT is able
* to reference. (Should be max of support arch/platforms.)
* @remarks Must be a multiple of 64 (see RTCPUSET). */
#if defined(RT_ARCH_X86) || defined(RT_ARCH_AMD64)
# define RTCPUSET_MAX_CPUS 256
#elif defined(RT_ARCH_SPARC) || defined(RT_ARCH_SPARC64)
# define RTCPUSET_MAX_CPUS 1024
#else
# define RTCPUSET_MAX_CPUS 64
#endif

Thank You.

Re: VBox on 192 CPU system

Posted: 19. Sep 2017, 17:20
by michaln
Want to send us such a system?

FYI, the problem isn't the total number of logical processors, the problem is duplicate APIC IDs modulo 256. Which is something that depends on the processors used and the firmware.