On Fri, 20 Jul 2018, Kirill A. Shutemov wrote: > On Thu, Jul 19, 2018 at 03:40:41PM +0200, Thomas Gleixner wrote: > > > > I still don't see how that's supposed to work. > > > > > > > > When the inconsistent CPU is brought up _AFTER_ MKTME is enabled, then how > > > > does clearing the variables help? It does not magically make all the other > > > > stuff go away. > > > > > > We don't actually enable MKTME in kernel. BIOS does. Kernel makes choose > > > to use it or not. Current design targeted to be used by userspace. > > > So until init we don't have any other stuff to go away. We can just > > > pretend that MKTME was never there. > > > > Hotplug is not guaranteed to happen _BEFORE_ init. Think about physical > > hotplug. > > Ouch. I didn't think about this. :/ > > In this case I don't see how to handle the situation properly. > Is it okay to WARN() && pray()? Not really. First of all, you want to do the initial checking on the boot CPU and then when secondary CPUs are brought up, verify that they have matching parameters. If they do not, then we should just shut them down right away before they can touch anything which is TME related and mark them as 'don't online again'. That needs some extra logic in the hotplug code, but I already have played with that for different reasons. Stick a fat comment into that 'not matching' code path for now and I'll give you the magic for preventing full bringup after polishing it a bit. Thanks, tglx