The multiple cpu/SMP configuration is described via ACPI MADT (Multiple APIC 
Descriptor Table) by system firmware/BIOS.
And there is a control method **_"_PIC_"** as part of the System Configuration 
Objects in ACPI (section 5.8 in the spec), which is used by the OS to report 
the system firmware of the interrupt routing model it will be using. But this 
might "not be found" and its ok since its an optional method for the OS to 
execute per the ACPI spec.
So, on Cloudstack (linux kvm + qemu) platform, the problem is that, even though 
illumos parses this table correctly and finds the multiple cpus (cores), it 
bails out early and undoes the multi-cpu config it built, due to not finding 
this **__PIC_** 
Fix is to make the OS be tolerant about this – don't fail if the _PIC is not 
found and continue building the multi-cpu config.
I have also added some extra messages for verbosity at various points as needed.

Note that other OSes like linux, netbsd do the same for this issue.

You can view, comment on, or merge this pull request online at:

  https://github.com/openzfs/openzfs/pull/426

-- Commit Summary --

  * 8496 Multiple cores per socket does not work on Cloudstack KVM setup

-- File Changes --

    M usr/src/uts/i86pc/io/mp_platform_common.c (36)

-- Patch Links --

https://github.com/openzfs/openzfs/pull/426.patch
https://github.com/openzfs/openzfs/pull/426.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/426

------------------------------------------
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/T08fecedf646eec10-M990d173e6f07e702024fbb39
Powered by Topicbox: https://topicbox.com

Reply via email to