• Thomas Gleixner's avatar
    x86/speculation: Rework SMT state change · a74cfffb
    Thomas Gleixner authored
    arch_smt_update() is only called when the sysfs SMT control knob is
    changed. This means that when SMT is enabled in the sysfs control knob the
    system is considered to have SMT active even if all siblings are offline.
    
    To allow finegrained control of the speculation mitigations, the actual SMT
    state is more interesting than the fact that siblings could be enabled.
    
    Rework the code, so arch_smt_update() is invoked from each individual CPU
    hotplug function, and simplify the update function while at it.
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Reviewed-by: default avatarIngo Molnar <mingo@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Jiri Kosina <jkosina@suse.cz>
    Cc: Tom Lendacky <thomas.lendacky@amd.com>
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: David Woodhouse <dwmw@amazon.co.uk>
    Cc: Tim Chen <tim.c.chen@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Casey Schaufler <casey.schaufler@intel.com>
    Cc: Asit Mallick <asit.k.mallick@intel.com>
    Cc: Arjan van de Ven <arjan@linux.intel.com>
    Cc: Jon Masters <jcm@redhat.com>
    Cc: Waiman Long <longman9394@gmail.com>
    Cc: Greg KH <gregkh@linuxfoundation.org>
    Cc: Dave Stewart <david.c.stewart@intel.com>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/20181125185004.521974984@linutronix.de
    
    a74cfffb
Name
Last commit
Last update
..
autogroup.h Loading commit data...
clock.h Loading commit data...
coredump.h Loading commit data...
cpufreq.h Loading commit data...
cputime.h Loading commit data...
deadline.h Loading commit data...
debug.h Loading commit data...
hotplug.h Loading commit data...
idle.h Loading commit data...
init.h Loading commit data...
isolation.h Loading commit data...
jobctl.h Loading commit data...
loadavg.h Loading commit data...
mm.h Loading commit data...
nohz.h Loading commit data...
numa_balancing.h Loading commit data...
prio.h Loading commit data...
rt.h Loading commit data...
signal.h Loading commit data...
smt.h Loading commit data...
stat.h Loading commit data...
sysctl.h Loading commit data...
task.h Loading commit data...
task_stack.h Loading commit data...
topology.h Loading commit data...
user.h Loading commit data...
wake_q.h Loading commit data...
xacct.h Loading commit data...