On Fri, Jul 20, 2018 at 03:17:54PM +0200, Thomas Gleixner wrote: > 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. Got it. Thanks! -- Kirill A. Shutemov