Messages in this thread - First message in thread
- "Yan, Zheng"
- "Yan, Zheng"
- "Yan, Zheng"
- "Yan, Zheng"
- "Yan, Zheng"
- "Yan, Zheng"
- "Yan, Zheng"
- "Yan, Zheng"
- "Yan, Zheng"
- "Yan, Zheng"
- "Yan, Zheng"
- "Yan, Zheng"
- "Yan, Zheng"
- "Yan, Zheng"
- Peter Zijlstra
- Peter Zijlstra
- Stephane Eranian
| | | Subject | Re: [PATCH V6 07/13] perf: Generic pci uncore device support | From | Peter Zijlstra <> | Date | Fri, 15 Jun 2012 18:02:53 +0200 |
| |
On Fri, 2012-06-15 at 14:31 +0800, Yan, Zheng wrote: > @@ -305,6 +310,22 @@ struct intel_uncore_box *uncore_alloc_box(int cpu) > static struct intel_uncore_box * > uncore_pmu_to_box(struct intel_uncore_pmu *pmu, int cpu) > { > + static struct intel_uncore_box *box; > + > + box = *per_cpu_ptr(pmu->box, cpu); > + if (box) > + return box; > + > + raw_spin_lock(&uncore_box_lock); > + list_for_each_entry(box, &pmu->box_list, list) { > + if (box->phys_id == topology_physical_package_id(cpu)) { > + atomic_inc(&box->refcnt); > + *per_cpu_ptr(pmu->box, cpu) = box; > + break; > + } > + } > + raw_spin_unlock(&uncore_box_lock); > + > return *per_cpu_ptr(pmu->box, cpu); > }
So why can't we do that lookup from a hotplug notifier?
| |