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.
Showing the changes to include/linux (1 of 2 files). Show all
Unified · Split
| @@ -175,6 +175,7 @@ enum cpuhp_state { · 174 unmodified lines | |||
| 175 | CPUHP_AP_WATCHDOG_ONLINE, | 175 | CPUHP_AP_WATCHDOG_ONLINE, |
| 176 | CPUHP_AP_WORKQUEUE_ONLINE, | 176 | CPUHP_AP_WORKQUEUE_ONLINE, |
| 177 | CPUHP_AP_RCUTREE_ONLINE, | 177 | CPUHP_AP_RCUTREE_ONLINE, |
| 178 | CPUHP_AP_BASE_CACHEINFO_ONLINE, | ||
| 178 | CPUHP_AP_ONLINE_DYN, | 179 | CPUHP_AP_ONLINE_DYN, |
| 179 | CPUHP_AP_ONLINE_DYN_END = CPUHP_AP_ONLINE_DYN + 30, | 180 | CPUHP_AP_ONLINE_DYN_END = CPUHP_AP_ONLINE_DYN + 30, |
| 180 | CPUHP_AP_X86_HPET_ONLINE, | 181 | CPUHP_AP_X86_HPET_ONLINE, |