x86/intel_rdt/cqm: Clear the default RMID during hotcpu
authorVikas Shivappa <vikas.shivappa@linux.intel.com>
Wed, 9 Aug 2017 18:46:33 +0000 (11:46 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 14 Aug 2017 09:47:46 +0000 (11:47 +0200)
The user configured per cpu default RMID is not cleared during cpu
hotplug. This may lead to incorrect RMID values after a cpu goes offline
and again comes back online. Clear the per cpu default RMID during cpu
offline and online handling.

Reported-by: Prakyha Sai Praneeth <sai.praneeth.prakhya@intel.com>
Signed-off-by: Vikas Shivappa <vikas.shivappa@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: ravi.v.shankar@intel.com
Cc: tony.luck@intel.com
Cc: fenghua.yu@intel.com
Cc: peterz@infradead.org
Cc: eranian@google.com
Cc: ak@linux.intel.com
Cc: davidcc@google.com
Link: http://lkml.kernel.org/r/1502304395-7166-2-git-send-email-vikas.shivappa@linux.intel.com
arch/x86/kernel/cpu/intel_rdt.c

index da4f3898d51708821564c126547ffbbff6c6c41e..4b9edb2617a51f04ea7bf19db0f8814aedf6247e 100644 (file)
@@ -551,6 +551,7 @@ static void clear_closid_rmid(int cpu)
        struct intel_pqr_state *state = this_cpu_ptr(&pqr_state);
 
        per_cpu(rdt_cpu_default.closid, cpu) = 0;
+       per_cpu(rdt_cpu_default.rmid, cpu) = 0;
        state->closid = 0;
        state->rmid = 0;
        wrmsr(IA32_PQR_ASSOC, 0, 0);