• James Morse's avatar
    drivers: base: cacheinfo: Ensure cpu hotplug work is done before Intel RDT · b6ac72d9
    James Morse authored
    commit 83b44fe343b5abfcb1b2261289bd0cfcfcfd60a8 upstream.
    
    The cacheinfo structures are alloced/freed by cpu online/offline
    callbacks. Originally these were only used by sysfs to expose the
    cache topology to user space. Without any in-kernel dependencies
    CPUHP_AP_ONLINE_DYN was an appropriate choice.
    
    resctrl has started using these structures to identify CPUs that
    share a cache. It updates its 'domain' structures from cpu
    online/offline callbacks. These depend on the cacheinfo structures
    (resctrl_online_cpu()->domain_add_cpu()->get_cache_id()->
     get_cpu_cacheinfo()).
    These also run as CPUHP_AP_ONLINE_DYN.
    
    Now that there is an in-kernel dependency, move the cacheinfo
    work earlier so we know its done before resctrl's CPUHP_AP_ONLINE_DYN
    work runs.
    
    Fixes: 2264d9c7 ("x86/intel_rdt: Build structures for each resource based on cache topology")
    Cc: <stable@vger.kernel.org>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Reinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: default avatarJames Morse <james.morse@arm.com>
    Link: https://lore.kernel.org/r/20190624173656.202407-1-james.morse@arm.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    b6ac72d9