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
