• Gautham R Shenoy's avatar
    powerpc/pseries: Serialize cpu hotplug operations during deactivate Vs deallocate · 51badebd
    Gautham R Shenoy authored
    Currently the cpu-allocation/deallocation process comprises of two steps:
    - Set the indicators and to update the device tree with DLPAR node
      information.
    
    - Online/offline the allocated/deallocated CPU.
    
    This is achieved by writing to the sysfs tunables "probe" during allocation
    and "release" during deallocation.
    
    At the sametime, the userspace can independently online/offline the CPUs of
    the system using the sysfs tunable "online".
    
    It is quite possible that when a userspace tool offlines a CPU
    for the purpose of deallocation and is in the process of updating the device
    tree, some other userspace tool could bring the CPU back online by writing to
    the "online" sysfs tunable thereby causing the deallocate process to fail.
    
    The solution to this is to serialize writes to the "probe/release" sysfs
    tunable with the writes to the "online" sysfs tunable.
    
    This patch employs a mutex to provide this serialization, which is a no-op on
    all architectures except PPC_PSERIES
    Signed-off-by: default avatarGautham R Shenoy <ego@in.ibm.com>
    Acked-by: default avatarVaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    51badebd
cpu.c 6.61 KB