Loading drivers/base/cacheinfo.c +8 −2 Original line number Diff line number Diff line Loading @@ -148,7 +148,11 @@ static void cache_shared_cpu_map_remove(unsigned int cpu) if (sibling == cpu) /* skip itself */ continue; sib_cpu_ci = get_cpu_cacheinfo(sibling); if (!sib_cpu_ci->info_list) continue; sib_leaf = sib_cpu_ci->info_list + index; cpumask_clear_cpu(cpu, &sib_leaf->shared_cpu_map); cpumask_clear_cpu(sibling, &this_leaf->shared_cpu_map); Loading @@ -159,6 +163,9 @@ static void cache_shared_cpu_map_remove(unsigned int cpu) static void free_cache_attributes(unsigned int cpu) { if (!per_cpu_cacheinfo(cpu)) return; cache_shared_cpu_map_remove(cpu); kfree(per_cpu_cacheinfo(cpu)); Loading Loading @@ -520,7 +527,6 @@ static int cacheinfo_cpu_callback(struct notifier_block *nfb, break; case CPU_DEAD: cache_remove_dev(cpu); if (per_cpu_cacheinfo(cpu)) free_cache_attributes(cpu); break; } Loading Loading
drivers/base/cacheinfo.c +8 −2 Original line number Diff line number Diff line Loading @@ -148,7 +148,11 @@ static void cache_shared_cpu_map_remove(unsigned int cpu) if (sibling == cpu) /* skip itself */ continue; sib_cpu_ci = get_cpu_cacheinfo(sibling); if (!sib_cpu_ci->info_list) continue; sib_leaf = sib_cpu_ci->info_list + index; cpumask_clear_cpu(cpu, &sib_leaf->shared_cpu_map); cpumask_clear_cpu(sibling, &this_leaf->shared_cpu_map); Loading @@ -159,6 +163,9 @@ static void cache_shared_cpu_map_remove(unsigned int cpu) static void free_cache_attributes(unsigned int cpu) { if (!per_cpu_cacheinfo(cpu)) return; cache_shared_cpu_map_remove(cpu); kfree(per_cpu_cacheinfo(cpu)); Loading Loading @@ -520,7 +527,6 @@ static int cacheinfo_cpu_callback(struct notifier_block *nfb, break; case CPU_DEAD: cache_remove_dev(cpu); if (per_cpu_cacheinfo(cpu)) free_cache_attributes(cpu); break; } Loading