Messages in this thread | | | Date | Mon, 11 Jan 2010 19:13:32 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [RFC PATCH 2/4] x86: use dmi check to treat disabled cpus as hotplug cpus. |
| |
On Mon, 11 Jan 2010, Yinghai Lu wrote: > > some systems that have disable cpus entries because same > BIOS will support 2 sockets and 4 sockets and more at > same time, BIOS just leave some disable entries, but > those system do not support cpu hotplug. we don't need > treat disabled_cpus as hotplug cpus. > > so we can make nr_cpu_ids smaller and save more space > (pcpu data allocations), and could make some systems run > with logical flat instead of physical flat apic mode
.. but this one I detest.
We can't play games that depend on us always filling in some DMI table correctly. Things need to "just work".
So while 1/4 looks fine, 2/4 looks fundamentally unacceptable.
Is the flat APIC mode really so important?
I would suggest a few alternatives:
Truly static:
- only use that flat apic mode when you _know_ that you absolutely will never have more than 8 cpu's. Ie when CONFIG_NR_CPUS <= 8 (or, with 1/3, when nr_cpu_ids <= 8) and/or when <= 8 CPU's were detected, and CPU hotplug is disabled entirely.
Slightly more intelligent:
- Look at the ACPI socket count, and hey, if it says it might have more sockets - whether they are really hotplug or not, don't use flat mode, because we simply don't know. But do _not_ do some kind of DMI table to say one way or the other.
And if it's _really_ important:
- if flat mode is so important that you want to enable it whenever possible, what about enabling/disabling it dynamically at CPU hotplug time? That does sound _very_ painful, but it's still better than having to maintain some list of all systems that can ever hot-plug.
Hmm?
Linus
| |