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
