24 июля 2014 г. 22:59:01 CEST, Hans Rosenfeld via illumos-discuss 
<[email protected]> пишет:
>On Thu, Jul 24, 2014 at 10:43:51PM +0200, Richard PALO via
>illumos-discuss wrote:
>> Happy to have now a clone of our server board (supermicro H8SGL-F)
>for a
>> workstation, naturally with latest optéron:
>> >$ psrinfo  -v -p 1
>> >The physical processor has 12 virtual processors (0-11)
>> >  x86 (AuthenticAMD 600F20 family 21 model 2 step 0 clock 2300 MHz)
>> >    AMD Opteron(tm) Processor 6338P
>> 
>> It is a 12 core processor and I notice the following new message:
>
>Oh nice. Haven't seen one of those in a while.
>
>> >drmach_acpi: [ID 779328 kern.warning] WARNING: drmach_init: number
>of logical CPUs (12) in physical processor is not power of 2.
>> 
>> not [yet] too familiar with dynamic reconfigure issues, is this
>[already] an
>> issue or a rather a noop?
>
>I'd say it's harmless and can probably fixed with a reasonable amount
>of
>work. The assumption that logical CPUs come in powers of 2 has been
>wrong for at least 5 years.
>
>> >static int
>> >drmach_init(void)
>> >{
>> >    DRMACH_HANDLE   hdl;
>> >    drmachid_t  id;
>> >    uint_t      bnum;
>> >
>> >    if (MAX_BOARDS > SHRT_MAX) {
>> >        cmn_err(CE_WARN, "!drmach_init: system has too many (%d) "
>> >            "hotplug capable boards.", MAX_BOARDS);
>> >        return (ENXIO);
>> >    } else if (MAX_CMP_UNITS_PER_BOARD > 1) {
>> >        cmn_err(CE_WARN, "!drmach_init: DR doesn't support multiple
>"
>> >            "(%d) physical processors on one board.",
>> >            MAX_CMP_UNITS_PER_BOARD);
>> >        return (ENXIO);
>> >    } else if (MAX_CORES_PER_CMP & (MAX_CORES_PER_CMP - 1)) {
>> >        cmn_err(CE_WARN, "!drmach_init: number of logical CPUs (%d)
>in "
>> >            "physical processor is not power of 2.",
>> >            MAX_CORES_PER_CMP);
>> >        return (ENXIO);
>> >    } else if (MAX_CPU_UNITS_PER_BOARD > DEVSET_CPU_NUMBER ||
>> >        MAX_MEM_UNITS_PER_BOARD > DEVSET_MEM_NUMBER ||
>> >        MAX_IO_UNITS_PER_BOARD > DEVSET_IO_NUMBER) {
>> >        cmn_err(CE_WARN, "!drmach_init: system has more
>CPU/memory/IO "
>> >            "units than the DR driver can handle.");
>> >        return (ENXIO);
>> >    }
>> >
>> >    rw_init(&drmach_cpr_rwlock, NULL, RW_DEFAULT, NULL);
>> >    drmach_cpr_cid = callb_add(drmach_cpr_callb, NULL,
>> >        CB_CL_CPR_PM, "drmach");
>> 
>> It appears to simply turn off dynamic reconfiguration.
>> Am I missing anything?
>
>I doubt dynamic reconfiguration is useful on that machine anyway, so
>maybe thats why nobody cared to fix it :)
>
>
>Hans

I'd hazard that powers-of-two assumption became obsolete for Solaris at least a 
decade ago, when multiple-of-6-cores (trimmed-down editions of) ULTRASPARC-T1 
CPUs came out. If this check was there back then, it was probably seen and 
disregarded as not a problem for the Sun Enterprise systems.

Just an educated guess, though ;)

//Jim
--
Typos courtesy of K-9 Mail on my Samsung Android


-------------------------------------------
illumos-discuss
Archives: https://www.listbox.com/member/archive/182180/=now
RSS Feed: https://www.listbox.com/member/archive/rss/182180/21175430-2e6923be
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=21175430&id_secret=21175430-6a77cda4
Powered by Listbox: http://www.listbox.com

Reply via email to