• Fenghua Yu's avatar
    x86/intel_rdt: Update task closid immediately on CPU in rmdir and unmount · 0efc89be
    Fenghua Yu authored
    When removing a sub directory/rdtgroup by rmdir or umount, closid in a
    task in the sub directory is set to default rdtgroup's closid which is 0.
    If the task is running on a CPU, the PQR_ASSOC MSR is only updated
    when the task runs through a context switch. Up to the context switch,
    the task runs with the wrong closid.
    
    Make the change immediately effective by invoking a smp function call on
    all CPUs which are running moved task. If one of the affected tasks was
    moved or scheduled out before the function call is executed on the CPU the
    only damage is the extra interruption of the CPU.
    
    [ tglx: Reworked it to avoid blindly interrupting all CPUs and extra loops ]
    Signed-off-by: default avatarFenghua Yu <fenghua.yu@intel.com>
    Cc: "Ravi V Shankar" <ravi.v.shankar@intel.com>
    Cc: "Tony Luck" <tony.luck@intel.com>
    Cc: "Sai Prakhya" <sai.praneeth.prakhya@intel.com>
    Cc: "Vikas Shivappa" <vikas.shivappa@linux.intel.com>
    Cc: "H. Peter Anvin" <h.peter.anvin@intel.com>
    Link: http://lkml.kernel.org/r/1479511084-59727-2-git-send-email-fenghua.yu@intel.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    0efc89be
intel_rdt_rdtgroup.c 25.1 KB