Messages in this thread | | | Date | Thu, 21 Aug 2008 13:59:33 +0100 | From | "Jan Beulich" <> | Subject | patch "x86: MOVE PCI IO ECS code to x86/pci" breaks CPU hotplug |
| |
>Converting __cpuinit functions called out of init_amd() (and similar others) >to __init (and making them subject of xxx_initcall() handling isn't valid, as >they would no longer be called for hot plugged CPUs. > >Further, since it's likely that in virtualized environments the MSR write >would at best be ignored, I'd also recommend using the fault-safe >accessors here *and* check that the bit actually got set before setting >PCI_HAS_IO_ECS (one would obviously have to BUG() when hot-plugged >CPUs fail to set the bit when those available at boot successfully did so).
Even worse - this would even try to access the MSR on non-AMD CPUs (currently probably prevented just by the fact that only AMD ones use family values of 0x10 or higher).
Jan
| |